IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グリッドスペース インコーポレイテッドの特許一覧

<>
  • 特表-発話エージェント 図1
  • 特表-発話エージェント 図2
  • 特表-発話エージェント 図3
  • 特表-発話エージェント 図4
  • 特表-発話エージェント 図5
  • 特表-発話エージェント 図6
  • 特表-発話エージェント 図7
  • 特表-発話エージェント 図8
  • 特表-発話エージェント 図9
  • 特表-発話エージェント 図10
  • 特表-発話エージェント 図11
  • 特表-発話エージェント 図12
  • 特表-発話エージェント 図13
  • 特表-発話エージェント 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-25
(54)【発明の名称】発話エージェント
(51)【国際特許分類】
   G10L 13/00 20060101AFI20220418BHJP
   G06N 20/00 20190101ALI20220418BHJP
   G10L 15/10 20060101ALI20220418BHJP
   G10L 15/00 20130101ALI20220418BHJP
   G06F 3/16 20060101ALI20220418BHJP
【FI】
G10L13/00 100M
G06N20/00 130
G10L15/10 500N
G10L15/00 200A
G06F3/16 690
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021544347
(86)(22)【出願日】2020-01-10
(85)【翻訳文提出日】2021-09-22
(86)【国際出願番号】 US2020013160
(87)【国際公開番号】W WO2020159693
(87)【国際公開日】2020-08-06
(31)【優先権主張番号】15/929,095
(32)【優先日】2019-01-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521335616
【氏名又は名称】グリッドスペース インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】スコデアリー,アンソニー,スコデアリー
(72)【発明者】
【氏名】バロン,アレックス
(72)【発明者】
【氏名】コーエン,デヴィッド
(72)【発明者】
【氏名】マック ミラン,エヴァン
(57)【要約】
発話合成会話エージェントを作動させる方法は、通話セッション中に発話者オーディオ信号を受信するようオーディオインタフェースを作動させることを含む。方法は、感情モデルによって構成される感情分析エンジンの作動を通じて発呼者オーディオ信号からオーディオトランスクリプトを生成する。方法は、ユーザインタフェーススイッチにオーディオトランスクリプトを通信する。発話合成エンジンは、履歴会話データによって構成される応答論理エンジンの作動を通じてオーディオトランスクリプト及び発呼者オーディオ信号についての応答信号を生成する。発話合成エンジンは、履歴会話データによって構成される発話合成モデルの作動を通じて応答信号からの合成されたユーザモデル応答及び周囲信号を含む合成されたオーディオ応答を生成する。方法は、通話セッション中にオーディオインタフェースを通じて発呼者オーディオ信号に応答して合成されたオーディオ応答を通信する。
【特許請求の範囲】
【請求項1】
発話合成会話エージェントを作動させる方法であって、
通話セッション中に発呼者オーディオ信号を受信するようオーディオインタフェースを作動させることと、
感情モデルによって構成される感情分析エンジンの作動を通じて前記発呼者オーディオ信号からの感情スコアを含むオーディオトランスクリプトを生成することと、
ユーザモデルから入力を受信するように構成されるユーザインタフェーススイッチに前記オーディオトランスクリプトを通信することと、
前記ユーザモデルからの履歴会話データで訓練される発話シンセサイザエンジンに前記ユーザインタフェーススイッチからの応答制御を通信することと、
前記発話シンセサイザエンジンを作動させて、
前記履歴会話データによって構成される応答論理エンジンの作動を通じて前記オーディオトランスクリプト及び前記発呼者オーディオ信号についての応答信号を生成し、
前記履歴会話データによって構成される発話合成モデルの作動を通じて前記応答信号から合成されたユーザモデル応答及び周囲信号を含む合成されたオーディオ応答を生成し、且つ
前記通話セッション中に前記オーディオインタフェースを通じて、前記発呼者オーディオ信号に応答して、前記合成されたオーディオ応答を通信することと、を含む、
方法。
【請求項2】
前記発話合成モデルを作動させて、前記応答論理エンジンから文言対発話応答を受信することに応答して、前記発呼者オーディオ信号についての合成されたユーザモデル応答として合成された発話を生成することを更に含む、請求項1に記載の方法。
【請求項3】
前記発話合成モデルを作動させて、前記応答論理エンジンから非言語応答を受信することに応答して、前記発呼者オーディオ信号についての前記合成されたユーザモデル応答としてリスニング応答キューを生成することを更に含む、請求項1に記載の方法。
【請求項4】
前記オーディオインタフェースを通じて前記発呼者オーディオ信号を受信することに応答して、前記ユーザモデルから前記ユーザインタフェーススイッチを通じてユーザモデル入力を受信することと、
前記発呼者オーディオ信号に応答して、応答オーディオと、バックグラウンドノイズとを含む、ユーザモデルオーディオ応答を、前記オーディオインタフェースに通信することと、
前記オーディオトランスクリプト、前記発呼者オーディオ信号、及び前記ユーザモデルオーディオ応答を、制御されたメモリデータ構造内に前記履歴会話データとして格納することと、を更に含む、
請求項1に記載の方法。
【請求項5】
前記発話合成モデルを作動させて、前記履歴会話データ内のユーザモデル応答の前記バックグラウンドノイズから前記周囲信号を生成することを含む、請求項4に記載の方法。
【請求項6】
教師付き訓練フェーズ中に前記発話シンセサイザエンジンを作動させて、
前記ユーザモデルを用いて複数の通話セッションについての通話要約トランスクリプトを受信することと、
前記ユーザモデルから応答監査を受信することに応答して、前記応答論理エンジンの作動を通じて応答状態を識別し、確実性スコアを備える応答オプションを生成することと、
前記応答状態、前記応答オプション、及び前記確実性スコアに応答して、前記ユーザモデルからフィードバック制御を受信することと、を含み、
前記通話要約トランスクリプトは、識別される実体、通話セッション意図、前記感情スコア、及び前記応答論理エンジンの前記訓練インタフェースを通じたユーザモデル応答を含む、
請求項1に記載の方法。
【請求項7】
命令を含む非一時的コンピュータ読取可能格納媒体であって、
前記命令は、コンピュータによって実行されるときに、前記コンピュータに、
通話セッション中にオーディオインタフェースを作動させて発呼者オーディオ信号を受信させ、
感情モデルによって構成される感情分析エンジンの作動を通じて前記発呼者オーディオ信号から感情スコアを含むオーディオトランスクリプトを生成させ、
ユーザモデルから入力を受信するように構成されるユーザインタフェーススイッチに前記オーディオトランスクリプトを通信させ、
前記ユーザモデルからの履歴会話データで訓練された発話シンセサイザエンジンに前記ユーザインタフェーススイッチからの応答制御を通信させ、
前記発話シンセサイザエンジンを作動させて、
前記履歴会話データによって構成される応答論理エンジンの作動を通じて前記オーディオトランスクリプト及び前記発呼者オーディオ信号についての応答信号を生成させ、
前記履歴会話データによって構成される発話合成モデルの作動を通じて前記応答信号からの合成されたユーザモデル応答及び周囲信号を含む合成されたオーディオ応答を生成させ、且つ
前記通話セッション中に前記オーディオインタフェースを通じて、前記発呼者オーディオ信号に応答して、前記合成されたオーディオ応答を通信させる、
非一時的コンピュータ読取可能格納媒体。
【請求項8】
前記命令は、
前記発話合成モデルを作動させて、前記応答論理エンジンから文言対発話応答を受信することに応答して、前記発呼者オーディオ信号についての前記合成されたユーザモデル応答として合成された発話を生成する、
ように前記コンピュータを更に構成する、
請求項7に記載の非一時的コンピュータ読取可能格納媒体。
【請求項9】
前記命令は、
前記発話合成モデルを作動させて、前記応答論理エンジンから非言語応答を受信することに応答して、前記発呼者オーディオ信号についての前記合成されたユーザモデル応答としてリスニング応答キューを生成する、
ように前記コンピュータを更に構成する、
請求項7に記載の非一時的コンピュータ読取可能格納媒体。
【請求項10】
前記命令は、
前記オーディオインタフェースを通じて前記発呼者オーディオ信号を受信することに応答して、前記ユーザモデルから前記ユーザインタフェーススイッチを通じてユーザモデル入力を受信し、
前記発呼者オーディオ信号に応答して、応答オーディオと、バックグラウンドノイズとを含む、ユーザモデルオーディオ応答を、前記オーディオインタフェースに通信し、且つ
前記オーディオトランスクリプト、前記発呼者オーディオ信号、及び前記ユーザモデルオーディオ応答を、制御されたメモリデータ構造内に前記履歴会話データとして格納する、
ように前記コンピュータを更に構成する、
請求項7に記載の非一時的コンピュータ読取可能格納媒体。
【請求項11】
前記発話合成モデルを作動させて、前記履歴会話データ内のユーザモデル応答の前記バックグラウンドノイズから前記周囲信号を生成することを含む、請求項10に記載の非一時的コンピュータ読取可能格納媒体。
【請求項12】
前記命令は、
教師付き訓練フェーズ中に前記発話シンセサイザエンジンを作動させて、
前記ユーザモデルを用いて複数の通話セッションについての通話要約トランスクリプトを受信し、
前記ユーザモデルから応答監査を受信することに応答して、前記応答論理エンジンの作動を通じて応答状態を識別し、確実性スコアを備える応答オプションを生成し、且つ
前記応答状態、前記応答オプション、及び前記確実性スコアに応答して、前記ユーザモデルからフィードバック制御を受信する、
ように前記コンピュータを更に構成し、
前記通話要約トランスクリプトは、識別される実体と、通話セッション意図と、前記感情スコアと、前記応答論理エンジンの前記訓練インタフェースを通じたユーザモデル応答とを含む、
請求項7に記載の非一時的コンピュータ読取可能格納媒体。
【請求項13】
プロセッサと、
命令を格納するメモリと、を含む、
コンピューティング装置であって、
前記命令は、前記プロセッサによって実行されるときに、
通話セッション中に発呼者オーディオ信号を受信するようにオーディオインタフェースを作動させ、
感情モデルによって構成される感情分析エンジンの作動を通じて前記発呼者オーディオ信号からの感情スコアを含むオーディオトランスクリプトを生成し、
ユーザモデルからの入力を受信するように構成されるユーザインタフェーススイッチに前記オーディオトランスクリプトを通信し、
前記ユーザモデルからの履歴会話データで訓練された発話シンセサイザエンジンに前記ユーザインタフェーススイッチからの応答制御を通信し、
前記発話シンセサイザエンジンを作動させて、
前記履歴会話データによって構成される応答論理エンジンの作動を通じて前記オーディオトランスクリプト及び前記発呼者オーディオ信号についての応答信号を生成し、且つ
前記履歴会話データによって構成される発話合成モデルの作動を通じて前記応答信号からの合成されたユーザモデル応答及び周囲信号を含む合成されたオーディオ応答を生成し、且つ
前記通話セッション中に前記オーディオインタフェースを通じて前記発呼者オーディオ信号に応答して前記合成されたオーディオ応答を通信する、
ように当該コンピューティング装置を構成する、
コンピューティング装置。
【請求項14】
前記命令は、
前記発話合成モデルを作動させて、前記応答論理エンジンから文言対発話応答を受信することに応答して、前記発呼者オーディオ信号についての前記合成されたユーザモデル応答として合成された発話を生成する、
ように当該コンピューティング装置を更に構成する、
請求項13に記載のコンピューティング装置。
【請求項15】
前記命令は、
前記発話合成モデルを作動させて、前記応答論理エンジンから非言語応答を受信することに応答して、前記発呼者オーディオ信号についての前記合成されたユーザモデル応答としてリスニング応答キューを生成する
ように当該コンピューティング装置を更に構成する、
請求項13に記載のコンピューティング装置。
【請求項16】
前記命令は、
前記オーディオインタフェースを通じて前記発呼者オーディオ信号を受信することに応答して、前記ユーザモデルから前記ユーザインタフェーススイッチを通じてユーザモデル入力を受信し、
前記発呼者オーディオ信号に応答して、応答オーディオと、バックグラウンドノイズとを含む、ユーザモデルオーディオ応答を、前記オーディオインタフェースに通信し、
前記オーディオトランスクリプト、前記発呼者オーディオ信号、及び前記ユーザモデルオーディオ応答を、制御されたメモリデータ構造内に前記履歴会話データとして格納する、
ように当該コンピューティング装置を更に構成する、
請求項13に記載のコンピューティング装置。
【請求項17】
前記発話合成モデルを作動させて、前記履歴会話データ内のユーザモデル応答の前記バックグラウンドノイズから前記周囲信号を生成することを含む、請求項16に記載のコンピューティング装置。
【請求項18】
前記命令は、
教師付き訓練フェーズ中に前記発話シンセサイザエンジンを作動させて、
前記ユーザモデルを用いて複数の通話セッションについての通話要約トランスクリプトを受信し、
前記ユーザモデルから応答監査を受信することに応答して、前記応答論理エンジンの作動を通じて応答状態を識別し、確実性スコアを備える応答オプションを生成し、
前記応答状態、前記応答オプション、及び前記確実性スコアに応答して、前記ユーザモデルからフィードバック制御を受信する、
ように当該コンピューティング装置を更に構成し、
通話要約トランスクリプトは、識別された実体と、通話セッション意図と、前記感情スコアと、前記応答論理エンジンの前記訓練インタフェースを通じたユーザモデル応答とを含む、
請求項13に記載のコンピューティング装置。
【発明の詳細な説明】
【背景技術】
【0001】
発呼者(caller)とサービスエージェント(service agent)/代表者(representative)との間のオーディオ通信に依存する多くのサービス対話(service interaction)は、自動化エージェント(automated agents)(すなわち、ロボット(bots))の使用から利益を得ることがある。自動化エージェントは、発呼者からの定型データ(例えば、住所、電話番号、口座番号など)を収集することのような、単調なタスクを処理することができるが、質問に応答すること又は会話に関与することのような、より複雑なタスクを処理することができない。多くの個人は、自動化エージェントと会話することが不快(off putting)であると知り、これらのシステムと対話する(interact)ことを強制されることは、個人の情緒的状態に否定的な影響を及ぼすことがある。解決策として、ある者は、人間の発話(speech)を合成できるロボットを使用することを提案する。これは可能性であるが、現在の発話合成システムは、より複雑な会話を説明することを困難にする、大量の手作業チューニング及び設計で構築されたオントロジー(ontologies)を利用する。これらのシステムは、非常に堅牢(ロバスト)に見えるが、それらの深さは限られている。従って、自動化エージェントに対する改良の必要性が存在する。
【発明の概要】
【0002】
任意の特定の要素又は行為の議論を容易に識別するために、参照番号中の最上位の桁(digit)又は数桁(digits)は、その要素が最初に導入された図番号を指している。
【図面の簡単な説明】
【0003】
図1】1つの実施形態に従ったシステム100を図示している。
【0004】
図2】1つの実施形態に従った方法200を図示している。
【0005】
図3】1つの実施形態に従ったシステム300を図示している。
【0006】
図4】1つの実施形態に従った方法400を図示している。
【0007】
図5】1つの実施形態に従ったプロセス500を図示している。
【0008】
図6】1つの実施形態に従った教師付きトレーニングフェーズ600を図示している。
【0009】
図7】1つの実施形態に従った教師付きトレーニングフェーズ700を図示している。
【0010】
図8】1つの実施形態に従った教師付きトレーニングフェーズ800を図示している。
【0011】
図9】1つの実施形態に従った畳み込みニューラルネットワーク900を図示している。
【0012】
図10】1つの実施形態に従った畳み込みニューラルネットワーク層1000を図示している。
【0013】
図11】1つの実施形態に従ったVGGネット1100を図示している。
【0014】
図12】1つの実施形態に従った畳み込み層フィルタリング1200を図示している。
【0015】
図13】1つの実施形態に従ったプーリング層機能1300を図示している。
【0016】
図14】1つの実施形態に従った図1400を図示している。
【発明を実施するための形態】
【0017】
部分的に自動化された会員サービス代表(MSR:member services representative)ロボットは、人間MSRが利用可能であるときに、人間MSRへの引き渡し(hand off)をシームレスに処理することがある。MSRロボットは、通話(call)の自動化された部分を要約する能力と、ロボットの挙動を監視し且つ検討するツールとを含むことがある。記録されたMSR通話を利用して、自然に聞こえるように発話シンセサイザエンジン(speech synthesizer engine)を訓練し、発呼者(caller)の要求に正確に反応するように会話エージェント(conversational agent)を訓練することがある。MSRロボットは、綺麗な演じられた発話(speech)ではなく、衛生的にされていない会話的な発話を使用して、訓練されることがある。MSRロボットは、個々のMSRの語調(tone)、韻律(prosody)、及び方言(dialect)をモデル化することができることがある。MSRロボットは、人間トランスクリプト(human transcripts)ではなく、発話認識トランスクリプト(speech recognition transcripts)を使用して、訓練されることがある。
【0018】
畳み込みニューラルネットワーク(CNN:convolutional neural networks)は、二次元又は三次元においてモデル化されるデータセットにおける特徴(features)を分類するのに特に適している。これは画像分類(image classification)についてCNNを評判の良いものにする。何故ならば、三次元(幅及び高さについて二次元、色成分(color components)及び強度(intensity)のようなピクセル特徴について三次元)において画像をコンピュータメモリ内に表現することができるからである。例えば、480×480のサイズのピクセルのカラーJPEG画像は、480×480×3であるアレイを用いて、コンピュータメモリ内でモデル化されることができ、ここで、第3の次元の値の各々は、0~255に亘るピクセルについての赤色、緑色、又は青色の色成分強度である。この数字のアレイを訓練されたCNNに入力することは、画像が特定の等級(class)である確率(猫について0.80、犬について0.15、鳥について0.05など)を記述する出力を生成する。画像分類は、入力画像を撮り、画像を最も良く記述する等級(猫、犬など)又は等級の確率を出力する、タスクである。
【0019】
基本的に、CNNは、データセットを入力し、それを一連の畳み込み変換、非線形活性化関数(例えば、RELU)、及びプーリング演算(ダウンサンプリング(downsampling)、例えば、マックスプール(maxpool))、及び出力層(output layer)(例えば、ソフトマックス(softmax))を通過させて、分類を生成する。
【0020】
発話合成会話エージェント(speech synthesizing conversation agent)を作動させる方法は、通話セッション中に発呼者オーディオ信号を受信するためにオーディオインタフェースを作動させることを含む。方法は、感情モデル(センチメントモデル)(sentiment model)によって構成される感情分析エンジン(センチメント分析エンジン)(sentiment analysis engine)の作動を通じて発呼者オーディオ信号からの感情スコア(センチメントスコア)(sentiment score)を含むオーディオトランスクリプトを生成する。方法は、ユーザモデルから入力を受信するように構成されるユーザインタフェーススイッチにオーディオトランスクリプトを通信する。方法は、ユーザインタフェーススイッチからの応答制御を、ユーザモデルからの履歴会話データで訓練された発話シンセサイザエンジンに通信する。次に、方法は、発話シンセサイザエンジンを作動させる。発話シンセサイザエンジンは、履歴会話データによって構成される応答論理エンジンの作動を通じてオーディオトランスクリプト及び発呼者オーディオ信号についての応答信号を生成する。発話シンセサイザエンジンは、履歴会話データによって構成される発話合成モデルの作動を通じた応答信号からの合成されたユーザモデル応答と周囲信号とを含む、合成オーディオ応答を生成する。次に、方法は、通話セッション中に、オーディオインタフェースを通じた発呼者オーディオ信号に応答して合成オーディオ応答を通信する。
【0021】
発話合成会話エージェントを作動させる方法は、応答論理エンジンからの文言対発話応答の受信に応答して、発話合成モデルを作動させて、発呼者オーディオ信号についての合成ユーザモデル応答として合成発話を生成することを含むことがある。
【0022】
発話合成会話エージェントを作動させる方法は、応答論理エンジンから非言語応答を受信することに応答して、発話合成モデルを作動させて、発呼者オーディオ信号のための合成されたユーザモデル応答としてリスニング応答キュー(listening response cues)を生成することを含んでよい。
【0023】
発話合成会話エージェントを作動させる方法は、オーディオインタフェースを通じて発呼者オーディオ信号を受信することに応答して、ユーザモデルからユーザインタフェーススイッチを通じてユーザモデル入力を受信することを含んでよい。方法は、発呼者オーディオ信号に応答して、ユーザモデルオーディオ応答をオーディオインタフェースに通信してよく、ユーザモデルオーディオ応答は、応答オーディオと、バックグラウンドノイズとを含む。次に、方法は、オーディオトランスクリプト、発呼者オーディオ信号、及びユーザモデルオーディオ応答を、制御されたメモリデータ構造内に履歴会話データとして格納してよい。幾つかの構成において、方法は、発話合成モデルを作動させて、履歴会話データ内のユーザモデル応答のバックグラウンドノイズから周囲信号を生成する。
【0024】
発話合成会話エージェントを作動させる方法は、ユーザモデルを用いて複数の通話セッションについての通話要約トランスクリプトを受信するために、教師付き訓練フェーズ中に発話シンセサイザエンジンを作動させることを含んでよい。通話要約トランスクリプトは、識別された実体と、通話セッション意図と、感情スコアと、応答論理エンジンの訓練インタフェースを通じたユーザモデル応答とを含んでよい。教師付き訓練フェーズ中に、方法は、ユーザモデルから応答監査を受信することに応答して、応答状態を識別し、応答論理エンジンの作動を通じて確実性スコアを備える応答オプションを生成してよい。方法は、応答状態、応答オプション、及び確実性スコアに応答して、ユーザモデルからフィードバック制御を受信してよい。
【0025】
命令を含む非一時的コンピュータ読取可能格納媒体であって、命令は、コンピュータによって実行されるときに、コンピュータに、通話セッション中にオーディオインタフェースを作動させて発呼者オーディオ信号を受信する。コンピュータは、感情分析エンジンの作動を通じて発呼者オーディオ信号から感情スコアを含むオーディオトランスクリプトを生成してよい。コンピュータは、ユーザモデルから入力を受信するように構成されるユーザインタフェーススイッチにオーディオトランスクリプトを通信してよい。コンピュータは、ユーザモデルからの履歴会話データで訓練された発話シンセサイザエンジンにユーザインタフェーススイッチからの応答制御を通信してよい。コンピュータは、発話シンセサイザエンジンを作動させてよい。発話シンセサイザエンジンは、履歴会話データによって構成される応答論理エンジンの作動を通じてオーディオトランスクリプト及び発呼者オーディオ信号についての応答信号を生成してよい。発話シンセサイザエンジンは、履歴会話データによって構成される発話合成モデルの作動を通じて応答信号からの合成されたユーザモデル応答及び周囲信号を含む合成されたオーディオ応答を生成してよい。次に、コンピュータは、通話セッション中にオーディオインタフェースを通じて発呼者オーディオ信号に応答して合成されたオーディオ応答を通信してよい。
【0026】
命令は、発話合成モデルを作動させて、応答論理エンジンから文言対発話応答を受信することに応答して、発呼者オーディオ信号についての合成されたユーザモデル応答として合成された発話を生成するように、コンピュータを更に構成する。
【0027】
命令は、発話合成モデルを作動させて、応答論理エンジンから非言語応答を受信することに応答して、発呼者オーディオ信号についての合成されたユーザモデル応答としてリスニング応答キューを生成するように、コンピュータを更に構成してよい。
【0028】
命令は、オーディオインタフェースを通じて発呼者オーディオ信号を受信することに応答して、ユーザモデルからユーザインタフェーススイッチを通じてユーザモデル入力を受信するように、コンピュータを更に構成してよい。コンピュータは、発呼者オーディオ信号に応答して、オーディオインタフェースにユーザモデルオーディオ応答を通信してよく、ユーザモデルオーディオ応答は、応答オーディオと、バックグラウンドノイズとを含む。次に、コンピュータは、オーディオトランスクリプト、発呼者オーディオ信号、及びユーザモデルオーディオ応答を、制御されたメモリデータ構造内に履歴会話データとして格納してよい。幾つかの構成において、命令は、発話合成モデルを作動させて、履歴会話データ内のユーザモデル応答のバックグラウンドノイズから周囲信号を生成するように、コンピュータを構成してよい。
【0029】
幾つかの構成において、命令は、教師付き訓練フェーズ中に発話シンセサイザエンジンを作動させるように、コンピュータを構成してよい。教師付き訓練フェーズ中に、命令は、ユーザモデルを用いて複数の通話セッションについての通話要約トランスクリプトを受信するように、コンピュータを構成してよく、通話要約トランスクリプトは、識別される実体と、通話セッション意図と、感情スコアと、応答論理エンジンの訓練インタフェースを通じたユーザモデル応答とを含む。コンピュータは、ユーザモデルから応答監査を受信することに応答して、応答論理エンジンの作動を通じて応答状態を識別し、確実性スコアを備える応答オプションを生成してよい。コンピュータは、応答状態、応答オプション、及び確実性スコアに応答して、ユーザモデルからフィードバック制御を受信してよい。
【0030】
コンピューティング装置が、プロセッサと、命令を格納するメモリとを含んでよく、命令は、プロセッサによって実行されるときに、オーディオインタフェースを作動させて、通話セッション中に発呼者オーディオ信号を受信するように、コンピューティング装置を構成する。コンピューティング装置は、感情分析エンジンの作動を通じて発呼者オーディオ信号からの感情スコアを含むオーディオトランスクリプトを生成してよい。コンピューティング装置は、ユーザモデルから入力を受信するように構成されるユーザインタフェーススイッチにオーディオトランスクリプトを通信してよい。コンピューティング装置は、ユーザモデルからの履歴会話データで訓練された発話シンセサイザエンジンにユーザインタフェーススイッチからの応答制御を通信してよい。コンピューティング装置は、発話シンセサイザエンジンを作動させてよい。発話シンセサイザエンジンは、履歴会話データによって構成される応答論理エンジンの作動を通じてオーディオトランスクリプト及び発呼者オーディオ信号についての応答信号を生成してよい。発話シンセサイザエンジンは、履歴会話データによって構成される発話合成モデルの作動を通じて応答信号から合成されたユーザモデル応答及び周囲信号を含む合成されたオーディオ応答を生成してよい。コンピューティング装置は、通話セッション中にオーディオインタフェースを通じて発呼者オーディオ信号に応答して合成されたオーディオ応答を通信してよい。
【0031】
命令は、発話合成モデルを作動させて、応答論理エンジンから文言対発話応答を受信することに応答して、発呼者オーディオ信号についての合成されたユーザモデル応答として合成された発話を生成するように、コンピューティング装置を更に構成してよい。
【0032】
命令は、発話合成モデルを作動させて、応答論理エンジンから非言語応答を受信することに応答して、発呼者オーディオ信号についての合成されたユーザモデル応答としてリスニング応答キューを生成するように、コンピューティング装置を更に構成してよい。
【0033】
命令は、オーディオインタフェースを通じて発呼者オーディオ信号を受信することに応答して、ユーザモデルからユーザインタフェーススイッチを通じてユーザモデル入力を受信するように、装置を更に構成してよい。装置は、発呼者オーディオ信号に応答して、ユーザモデルオーディオ応答をオーディオインタフェースに通信してよく、ユーザモデルオーディオ応答は、応答オーディオと、バックグラウンドノイズとを含む。装置は、オーディオトランスクリプト、発呼者オーディオ信号、及びユーザモデルオーディオ応答を、制御されたメモリデータ構造内に履歴会話データとして格納してよい。
【0034】
幾つかの構成において、命令は、発話合成モデルを作動させて、履歴会話データ内のユーザモデル応答のバックグラウンドノイズから周囲信号を生成するように、装置を更に構成してよい。
【0035】
命令は、教師付き訓練フェーズ中に発話シンセサイザエンジンを作動させるように、装置を更に構成してよい。教師付き訓練フェーズ中に、装置は、ユーザモデルを用いて複数の通話セッションについての通話要約トランスクリプトを受信してよく、通話要約トランスクリプトは、識別された実体と、通話セッション意図と、感情スコアと、応答論理エンジンの訓練インタフェースを通じたユーザモデル応答とを含む。装置は、ユーザモデルから応答監査を受信することに応答して、応答論理エンジンの作動を通じて応答状態を識別し、確実性スコアを備える応答オプションを生成してよい。装置は、応答状態、応答オプション、及び確実性スコアに応答して、ユーザモデルからフィードバック制御を受信してよい。
【0036】
ある実施形態において、感情分析エンジンによって生成されるオーディオトランスクリプトの例は、以下のように見える。
【表1】
【0037】
オーディオトランスクリプトは、各々の語られた単語の継続時間及び単語間のオフセットについてのタイミングを示す。更に、オーディオトランスクリプトは、0.9の感情インデックススコアを例示する。
【0038】
幾つかの構成において、MSRロボットは、単一モデルにおいて複数のMSR間のスタイル転送(style transfer)を実行することができてよい。MSRロボットは、ラインノイズ、非発話発声(non speech vocalization)、及び現実的なコールセンター及び電話方式音響環境(telephony acoustic environment)のような音を暗黙のうちにモデル化することができてよい。通話セッション中の発呼者の情動(emotions)及び感情(sentiment)は、文言対発話(TTS:text to speech)モデルに条件付けして現実的なダイナミクスをTTS韻律(prosody)に加えるために利用されてよい(例えば、合成された音声は、通話セッション中に検出される怒り又は懸念に応答して、そのトーンを変調させてよい。会話エージェント(又はMSRロボット)は、通話セッション中に数回の対話(通話(talking)-聴取(listening))を信じられるように処理することができてよい。
【0039】
会話エージェントは、通話の部分のみを取り扱うように設計されてよく、通話の自動化された部分において達成される解決策及び発呼者の意図を要約してよい。会話エージェントは、受け渡し(ハンドオフ)(handoff)において人間MSRを支援する短い要約アーチファクトを生成してよい。
【0040】
要約システムは、部分的に又は完全に、先行するロボット会話のトランスクリプトを提供するダッシュボード(dashboard)を含んでよい。このダッシュボードは、会話エージェントを訓練し且つ解釈するために利用されるツール(tooling)の一部であってよい。ロボット管理ダッシュボードの設計は、なぜロボットが特定の応答を選択したのかを説明し且つ挙動を修正するメカニズムを提供する機会を可能にすることがある。固有名詞のような特殊なトークンをラベル付けすることも、構造化された学習を可能にすることがある。加えて、このダッシュボードは、通話セッション中の受け渡しポイントまでの会話の合理的な要約を提供することがある。合成要約(synthetic summarization)は、通話に関するより小さな結論から複合要約(compound summary)の上に構築されてよい。この複合要約は、通話要約の基礎として機能することがある。
【0041】
会話エージェントのTTS部分は、MSR当たり20~200時間のオーダで、かなり高いデータ要件を有することがある。これは(削減、転送、クロストークなどの故に)使用できないオーディオをフィルタで除去した後である。どれぐらい多くの音声がモデル化されることが意図されているか及び最も多くの成功を有するスタイル転送方法に依存して、使用されるデータセットは、数十万以上の通話及びトランスクリプトを含むことができる。
【0042】
幾つかの構成において、会話エージェントは、情動及び感情をTTSへの条件付け信号としてモデル化することを例外として、音声に依存しないことがある。しかしながら、アーキテクチャに含まれるあらゆる生殖モデル(generative model)は、通話トランスクリプトの最大の可能なコーパス(corpus)上で訓練されることがある。
【0043】
会話エージェントの合成要約部分は、小さな検証データセットに依存することがあるが、分類器が意図を検出するために通話について訓練されているならば、データセットは、分類器当たり数千の通話トランスクリプトを含むことがある。
【0044】
幾つかの構成において、以前の会話からの訓練データは、以下のように、発呼者からの検索用語及び検索語句修飾子を用いて検索されてよい。
【0045】
(直定数(リテラル)(Literals))
訓練中、単語や語句を検索するために、それを引用符内に置く。
“crash”(「衝突」)
“lost credit card”(「紛失したクレジットカード」)
引用される語句の前に1~3の上付き波形符号(~)を加えると、類似のマッチ(一致)を緩める(意味論的には、音ではなく意味が類似することを意味する)。
単一の上付き波形符号を利用して、複数(plurals)又は同根(conjugates)のような類似の形態をマッチさせてよい。例えば、以下の通りである。
~“crash”は、“crashes”又は“crashing”とマッチする。
2つの上付き波形符号を利用して、同義語をマッチさせてよい。例えば、以下の通りである。
~~“crash”は、“accident”(「事故」)又は“collision”(「衝突」)とマッチする。
3つの上付き波形符号を利用して、関連する語句をマッチさせてよい。例えば、以下の通りである。
~~~“have a nice day”(「良い1日を」)は、“I hope your day is great”(「良い1日でありますように」)とマッチする。
【0046】
(語句演算子(Phrase Operators))
1つのものについて1つの発話セグメント内を検索するために、ユーザは、検索用語を演算子‘near’、‘or’、又は‘then’と組み合わせてよい。例えば、以下の通りである。
~~“crash”near“honda”
~~“crash”及び“honda”の両方を探す。
別の例は、以下の通りである。
~~“crash”or“ticket”(「交通違反切符」)
~~“crash”又は“ticket”の一方又は両方を探す。
更に別の例は、以下の通りである。
~~“crash”then“report”(「報告書」)
~~“crash”及び“report”の両方を順に探す。
例えば、“I had an accident and then they wrote a police report”(「私は事故を起こし、次に、彼らは事故報告書を書いた」)はマッチするが、“I found the police report after the crash”(私は衝突の後に事故報告書を発見した)はマッチしない。
【0047】
(会話演算子(Conversation Operators))
2つのものについて会話全体に亘って検索するために、ユーザは検索用語を演算子and、or又はlaterと組み合わせてよい。
and演算子は、両方の直定数(リテラル)を含む会話を探す。
~~“lost card”(「紛失したカード」) and “two weeks”(「2週間」)は、
以下のような会話とマッチする。
Hello thanks for calling.(お電話ありがとうございます。)
・・・
I want to report a missing card.(私はカードの紛失を報告したいです。)
・・・
The new card should arrive in one to two weeks.(新しいカードは1~2週間で届くはずです。)
しかしながら、対照的に、near演算子はマッチしない。何故ならば、それらは異なる発話セグメントに亘るからである。
or演算子は、直定数(リテラル)の一方又は両方を含む会話を探す。その使用は、語句スキャナに関する文脈(コンテキスト)によって決定される。
Caller ~~“lost card” or caller “two weeks”は、
以下のような会話とマッチする。
Hello thanks for calling.(お電話ありがとうございます。)
・・・
I want to report a missing card.(私は紛失したカードを報告したいです。)
・・・
The new card should arrive in five days.(新しいカードは5日以内に届くはずです。)
・・・
Later演算子は、直定数(リテラル)の両方を順に含む会話を探す。
~~~“reset my password”(「パスワードを再設定する」) later ~“thanks”(「ありがとう」)は、
以下のような会話とマッチする。
Hello thanks for calling.(電話ありがとう。)
・・・
I need my password reset.(私はパスワードを再設定する必要があります。)
・・・
Thanks!(ありがとう!)
しかしながら、最後の「ありがとう」が省略されたならば、会話の前の方でありがとう(thanks)が述べられていたとしても、会話はマッチしない。
【0048】
(セグメント修飾子(Segment Modifiers))
追加的な修飾子をセグメントの左側に置いて、それを特定の特性(property)に限定したり、それを何らかの他の方法で修飾したりしてよい。
【0049】
(複合クエリ(Compound Queries))
更に複雑なクエリが括弧を用いて構築されてよい。内部スキャナが評価され、次に、外部スキャナと組み合わされる。
(~~“crash” near ~~“police report”)or ~~~“file a claim”(「申立を提出する」)
この語句は、crash及びpolice reportの両方が述べられている場合又はclaimが提出されている場合(又は両方)にのみ一致する。しかしながら、“police report”のみでは一致しない。これは制限なく行なわれてよい。
(((~~“crash” near ~~“police report”) or ~~~“file a claim”) later agent ~~“sorry”) and caller not ~~“thank you”) or “thank you for your help with the claim”
修飾子がスタックされてもよい(しかしながら、順序は意味に影響を及ぼし得る)ことに留意のこと。
not agent ~~“sorry”は、
エージェントが誤らない会話とマッチする。
【0050】
(抽出器(Extractors)
抽出器は、概念を表す中括弧「{}」中の特殊な語句である。デフォルトで、全ての抽出器は、それらが恰も2つの上付き波形符号を有するように扱われ、これは省略されることがある。
~~“hello my name is {name}”(「こんにちは、私の名前は{名前}です」)は、
「hi my name is George」(「やあ!私の名前はジョージです」)とマッチする。
現在スキャナ内にある幾つかの抽出器は、以下を含む。
【0051】
(時間演算子(Time Operators))
ユーザは、スキャナに対して時間的制約をつけてよい。
【0052】
(最大持続時間(Maximum Duration))
角括弧、未満演算子、数字、及び単位で、ある量未満の時間が経過したことを指定する。
例えば、以下の通りである。
“interest rate” [<30s] “a.p.r.”は、
「interest rate」の後に30以内の「a.p.r」を探す。
【0053】
(最小持続時間)
【0054】
(開始及び終了トークン(Start and End Tokens)
通話の開始及び終了は、通話の開始及び終了に対して時間的制約を課すための特殊な抽出器を用いて指定されてよい。
例えば、以下の通りである。
{start} [<30S] “thanks for calling”
“thanks for calling”(「電話ありがとう」)という要求は、最初の30秒内に言われる。
同様に、{end}は、通話の終了を示すことができる。
“anything else today” [>1m] {end}
これは“anything else today”(「今日は他にありますか」)が通話終了の1分以上前に言われたことを強制する。
【0055】
(メタデータ(Metadata))
検索ビルダ(search builder)において、ユーザは、日付、開始時刻、持続時間、ユーザ提供メタデータのような通話セッションメタデータに対する制約をつけてもよい。
メタデータクエリが先ず実行され、次に、スキャナが結果として得られるサブセットに対して実行される。
【0056】
図1は、通話セッション中にメンバーサポート代表者(MSR:member support representative))に倣ってモデル化された合成されたオーディオ応答(synthesized audio responses)を生成するための発話合成会話エージェント(speech synthesizing conversation agent)を作動させるシステム100を図示している。システム100は、オーディオインタフェース110と、感情分析エンジン106と、ユーザインタフェーススイッチ116と、制御されたメモリデータ構造118(controlled memory data structure)と、発話シンセサイザエンジン114とを含む。システム100の作動中、個人はコールセンターを呼び出してMSRと話す。発呼者のオーディオ信号は、発呼者オーディオ信号120としてオーディオインタフェース110を通じて受信される。システム100において、発呼者オーディオ信号120は、発呼者が彼らのアカウントに問題があることを述べる、発呼者のオーディオを含む。発呼者オーディオ信号120がシステム100を更に下方に進む前に、発呼者オーディオ信号120は、感情分析エンジン106に通信される。感情分析エンジン106は、転写サービス102(transcription service)と、感情モデル104とを含む。転写サービス102は、発呼者オーディオ信号120をオーディオトランスクリプト108に転写(トランスクライブ)し、各々の話された単語のタイミングと、発呼者オーディオ信号120内の各々の話された単語の間の一時停止とを記す。感情モデル104は、オーディオトランスクリプト108のタイミングから感情スコア112を決定するために感情分析エンジン106によって利用される訓練された言語処理モデルである。
【0057】
感情スコア112を備えるオーディオトランスクリプト108は、ユーザインタフェーススイッチ116に通信される。ユーザインタフェーススイッチ116は、MSR(ユーザモデル136)が、感情スコア112でオーディオトランスクリプト108を検討し、それらが発呼者に個人的に応答したいかどうかを決定すること、又は発話シンセサイザエンジン114が合成オーディオ応答130を生成することを可能にすることを可能にする。ユーザモデル136と発呼者との間の初期的な通信は、完全に文言(テキスト)ベースであるので、感情スコア112は、発呼者オーディオ信号120の調律的特徴についての洞察をユーザに提供する。
【0058】
1つのシナリオにおいて、ユーザモデル136は、それらが更なる対話(インタラクション)を処理したいことを決定し、ユーザモデル入力をユーザインタフェーススイッチ116に通信する。次に、ユーザモデル136は、ユーザモデルオーディオ応答128としてオーディオインタフェース110に通信される「それは残念です。やれるだけやってみましょう。」のような応答を発声して(vocalize)よい。ユーザモデルオーディオ応答128は、応答オーディオ140としてのユーザモデル136の発声応答(vocalized response)を含み、コールセンター環境からのバックグラウンドノイズ142を含む。ユーザモデル136と発呼者との間のこの対話に続いて、ユーザモデルオーディオ応答128、発呼者オーディオ信号120、及び感情スコア112を含むオーディオトランスクリプト108は、制御されたメモリデータ構造118に通信され、履歴会話データ132として格納される。
【0059】
別のシナリオにおいて、ユーザモデル136は、発話シンセサイザエンジン114が発呼者オーディオ信号120に対する応答を処理すべきであると決定する。ユーザモデル136は、ユーザインタフェーススイッチ116を介して発話シンセサイザエンジン114に応答制御144を通信する。発話シンセサイザエンジン114は、発話合成モデル124(speech synthesis model)と、合成されたオーディオ応答130を生成するための応答論理エンジン122とを含む。応答論理エンジン122は、履歴会話データ132を用いて訓練された会話応答モデルを利用して、発呼者オーディオ信号120に対する適切な応答を決定する。応答論理エンジン122は、発呼者オーディオ信号120と、感情スコア112を含むオーディオトランスクリプト108とを利用して、応答信号を生成し、発話合成モデル124は、合成オーディオ応答130の基礎として、応答信号を使用する。
【0060】
発話合成モデル124は、ユーザモデル136の履歴会話データ132を使用してモデル化される。発話合成モデル124は、発話合成エンジン114が、適切な調律的特徴を備える応答信号から合成されたユーザモデル応答138を生成して、発呼者オーディオ信号120内の検出された感情を補完することを可能にする。合成されたユーザモデル応答138に加えて、合成されたオーディオ応答130は、ユーザモデルオーディオ応答128内で検出されるバックグラウンドノイズ142に倣ってモデル化される周囲信号134を含み、合成されたオーディオ応答130に真正性(authenticity)の層(レイヤー)を追加する。
【0061】
応答論理エンジン122は、通話セッション中に異なる会話/応答状態を決定することがある。これらの会話/応答状態は、能動応答状態と、受動応答状態とを含む。能動応答状態は、合成された発話応答が発呼者オーディオ信号120に適していることを応答論理エンジン122が決定する、通話セッション中の状態であってよい。合成された発話応答は、感情スコア112に対する応答として適切なことがある。能動応答状態において、応答論理エンジン122は、文言対発話応答126(TTS応答)を、発話シンセサイザエンジン114によって発話に変換されるべき文言を含む発話合成モデル124に通信する。幾つかの構成において、合成された発話応答は、発呼者オーディオ信号120において識別された質問又は特定の陳述のような、会話における識別された意図に適することがある。
【0062】
受動応答状態は、非言語応答146が発呼者オーディオ信号120に適切であると発話シンセサイザエンジン114が決定することがある、会話状態である。受動応答状態は、通話のMSR側が依然として聞いていることを示しながら、発呼者に耳を傾け続けることが適切な応答であることを、応答論理エンジン122が決定するときの、会話におけるインスタンスを含んでもよい。このインスタンスにおいて、発話シンセサイザエンジン114は、非言語応答146と発話合成モデル124とを利用して、周囲信号134と、合成されたユーザモデル応答138としてのリスニング応答キューとを含む、合成されたオーディオ応答130を生成して、通話セッションのMSR側が聞いていることを示す。
【0063】
通話セッションの進行中に、ユーザモデル136は、発呼者が個人化された応答を必要とする場合があると決定し、それらが発呼者との更なる対話を処理したいことをユーザインタフェーススイッチ116に通信することがある。周囲信号のバックグラウンドノイズ及びユーザモデル136に倣ってモデル化された合成された発話の故に、合成されたオーディオ応答130からユーザモデルオーディオ応答128への移行は、発呼者にシームレスに思われることがある。
【0064】
発話シンセサイザエンジン114は、発呼者感情データと応答論理エンジン122によって決定されるような応答信号とを受信し、ユーザモデルの音声パターンを使用して発話を合成して、合成されたオーディオ応答130を感情スコア112と調和される(matched)べき適切な情動変調(emotional modulation)と通信するように訓練された、人工知能(AI)モデルである。
【0065】
システム100は、図2図4及び図5に記載される方法に従って作動されてよい。
【0066】
図2を参照すると、発話合成会話エージェントを作動させる方法200は、通話セッション中にオーディオインタフェースを作動させて発呼者オーディオ信号を受信する(ブロック202)。ブロック204において、方法200は、感情モデルによって構成される感情分析エンジンの作動を通じて発呼者オーディオ信号からの感情スコアを含むオーディオトランスクリプトを生成する。ブロック206において、方法200は、ユーザモデルからの入力を受信するように構成されるユーザインタフェーススイッチにオーディオトランスクリプトを通信する。ブロック208において、方法200は、ユーザインタフェーススイッチからの応答制御を、ユーザモデルからの履歴会話データで訓練された音声シンセサイザエンジンに通信する。ブロック210において、方法200は、発話シンセサイザエンジンを作動させる。サブルーチンブロック212において、発話シンセサイザエンジンは、履歴会話データによって構成される応答論理エンジンの作動を通じて、オーディオトランスクリプト及び発呼者オーディオ信号についての応答信号を生成する。サブルーチンブロック214において、発話シンセサイザエンジンは、履歴会話データによって構成される発話合成モデルの作動を通じて、応答信号からの合成されたユーザモデル応答及び周囲信号を含む、合成されたオーディオ応答を生成する。ブロック216において、方法200は、通話セッション中にオーディオインタフェースを通じて、発呼者オーディオ信号に応答する合成されたオーディオ応答を通信する。
【0067】
図3は、発話シンセサイザエンジン326によって受信され且つ生成される情報を示すシステム300を図示している。システム300は、制御されたメモリデータ構造324と、感情分析エンジン302と、発話シンセサイザエンジン326とを含む。発話シンセサイザエンジン326は、応答論理エンジン334と、発話合成モデル336とを含む。制御されたメモリデータ構造324は、感情スコアを備えるオーディオトランスクリプトのようなスコア付き会話トランスクリプト322と、複数の通話セッションからのユーザモデルオーディオ応答に対応する発呼者オーディオ信号のような会話オーディオ340とを含む、履歴会話データ304のための格納場所として機能する。履歴会話データ304、特にユーザモデルオーディオ応答を含む会話オーディオ340は、発話合成モデル336を生成/改良するために発話シンセサイザエンジン326に提供されてよい。
【0068】
発呼者オーディオ信号308は、感情分析エンジン302、応答論理エンジン334、及び制御されたメモリデータ構造324に、wavサンプル328として提供されてよい。wavサンプル328は、感情分析エンジン302及び発話シンセサイザエンジン326による利用を容易にする非圧縮波形オーディオである波形オーディオファイルフォーマット(.wav)を参照する。感情分析エンジン302は、転写サービス338と、感情モデル320とを含む。感情分析エンジン302は、応答論理エンジン334に通信される発呼者オーディオ信号308から、感情スコア312を有するオーディオトランスクリプト306を生成する。
【0069】
応答論理エンジン334は、感情スコア312及び発呼者オーディオ信号308を有するオーディオトランスクリプト306を受信し、応答して、応答信号344を生成する。発話合成モデル336は、合成されたオーディオ応答318を生成するために応答信号344を備えて構成される。合成されたオーディオ応答318は、合成されたユーザモデル応答342と、周囲信号316とを含む。会話状態に依存して、応答論理エンジン334は、非言語応答332又は文言対発話応答330(text to speech response)を、発話合成モデル336に通信されるべき応答信号344として生成することがある。能動会話状態が識別されるならば、応答論理エンジン334は、発話合成モデル336によって利用されるべき文言対発話応答330を生成して、合成された発話310を生成する。受動会話状態が識別されるならば、応答論理エンジン334は、発話合成モデル336によって利用されるべき非言語応答332を生成して、リスニング応答キュー314(listening response cues)を生成する。
【0070】
システム300は、図2図4及び図5に記載される処理に従って作動させられてよい。
【0071】
図4を参照すると、発話合成会話エージェントを作動させる方法400は、オーディオインタフェースを通じて発呼者オーディオ信号を受信する(ブロック402)。ブロック404において、方法400は、オーディオインタフェースを通じて発呼者オーディオ信号を受信することに応答して、ユーザモデルから、ユーザインタフェーススイッチを通じてユーザモデル入力を受信する。ブロック406において、方法400は、発呼者オーディオ信号に応答して、ユーザモデルオーディオ応答をオーディオインタフェースに通信し、ユーザモデルオーディオ応答は、応答オーディオと、バックグラウンドノイズとを含む。ブロック408において、方法400は、オーディオトランスクリプト、発呼者オーディオ信号、及びユーザモデルオーディオ応答を、制御されたメモリデータ構造内に履歴会話データとして格納する。発話シンセサイザエンジンの作動中、音声合成モデルは、発話合成モデルを作動させて、履歴会話データにおけるユーザモデル応答のバックグラウンドノイズから周囲信号を生成する。
【0072】
図5は、発話合成会話エージェントを作動させるプロセス500を図示している。ブロック502において、プロセス500は、電話スイッチボードのようなオーディオインタフェースを通じて発呼者オーディオを受信する。ブロック504において、プロセス500は、発呼者の意図及び感情を決定する。発呼者の意図及び感情の決定は、感情分析エンジンによって達成されてよい。意図の決定は、発呼者のオーディオの転写及び転写された単語の文脈(コンテキスト)の結果として達成されてよい。発呼者の感情の決定は、感情モデルの使用を通じて達成されてよい。ある場合には、発呼者の意図及び感情の決定は、感情スコアを有するオーディオトランスクリプトとして、ユーザインタフェーススイッチに通信されてよい。発呼者の意図/感情は、ユーザインタフェーススイッチに通信されてよく、ユーザインタフェーススイッチは、どのように処理するかに関する命令をユーザ(MSR)に促す(ブロック506)。ユーザからの命令は、ユーザモデル入力の形態においてユーザインタフェーススイッチに戻されてよい。発呼者の通信された意図及び感情に基づいて、ユーザは、命令を示してよい(決定ブロック508)。ユーザがアクション(行動)を示さないならば、発話合成会話エージェントは引き継ぎ、デフォルトのアクションセットを予め形成してよい(ブロック510)。ある場合には、発話合成会話エージェントによって実行されるデフォルトのアクションセットは、合成されたオーディオ応答で発呼者オーディオに応答することであってよい。命令は、ユーザによる承認を示して、発話合成会話エージェント(ロボット(bot))が発呼者オーディオに対する応答を処理することを可能にしてよい(決定ブロック512)。ロボットが発呼者オーディオに対する応答を処理することをユーザが許容したくないことをユーザが示すならば、ユーザは、ロボットがアイドルのままである間に、発呼者オーディオに応答してよい(ブロック514)。ロボットが発呼者オーディオへの応答を処理することをユーザが許容したいことをユーザが示すならば、ロボットは、合成されたオーディオ応答を生成するためのその通話管理シーケンスを開始してよい(ブロック516)。
【0073】
図6は、応答論理エンジン604のための教師付き訓練フェーズ600を図示している。教師付き訓練フェーズ600は、発呼者トランスクリプトに対する提案される応答608を応答論理エンジン604に促してよい。次に、ユーザモデル602は、提案される応答608を評価し、応答スコアリング606を応答論理エンジン604の訓練インタフェース610に通信してよい。
【0074】
図7は、応答論理エンジン706のための教師付き訓練フェーズ700を図示している。教師付き訓練フェーズ700の間に、ユーザモデル702は、訓練インタフェース704を通じて応答論理エンジン706を訓練するエキスパートユーザとして行動してよい。ユーザモデル702は、訓練インタフェース704を通じて複数の通話要約トランスクリプト724を応答論理エンジン706に通信してよい。訓練インタフェース704は、ユーザモデル702を含む通話セッションから、通話セッション意図及び感情スコア710並びに通話要約トランスクリプト724内の識別された実体712(entities)を受信してよい。通話セッションの意図及び感情スコア710及び識別された実体712は、ユーザモデル702によって手作業で入力される注釈として、通話要約トランスクリプト724内で識別されてよい。ユーザモデル702によって利用される注釈スタイルは、応答論理エンジン706による理解のために特に構成されてよい。オーディオトランスクリプトは、ユーザモデル702からの転写されたユーザモデル応答718を含んでよい。応答論理エンジン706は、通話セッション意図及び感情スコア710と、識別された実体712と、ユーザモデル応答718とを利用して、発呼者オーディオ応答を生成するための会話モデルを構築してよい。ユーザモデル702は、通話トランスクリプトの一部分についての応答監査714(response audit)を応答論理エンジン706に通信してよい。応答論理エンジン706は、現在の会話の識別された応答状態716、応答オプション722、及び応答オプションについての確実性スコア708で応答してよい。次に、ユーザモデル702は、応答オプションを検証又は調整するためのフィードバック制御720を提供してよい。
【0075】
図8は、発話合成会話エージェントのための教師付き訓練フェーズ800を図示している。教師付き訓練フェーズ800の間に、オーディオインタフェース808は、感情モデル804と転写サービス802とを含む感情分析エンジン810に通信される発呼者オーディオ信号818を受信する。感情分析エンジン810の転写サービス802は、感情スコア816を含むオーディオトランスクリプト814を生成する。オーディオトランスクリプト814は、ユーザモデル702に通信され、ユーザモデル702は、それを応答論理エンジン706の訓練インタフェース704に通信する。応答論理エンジン706は、会話のための識別された応答状態716、ならびにユーザモデル702に通信される応答オプション722及び確実性スコア708を識別する。教師付き訓練フェーズ800の間に、発話シンセサイザエンジン812は、発話合成モデル806を備える発話シンセサイザエンジン812からの生成された応答を利用して、発呼者オーディオ信号818についての合成されたオーディオ応答を生成してよい。ユーザモデル702は、フィードバック制御720を提供して、オーディオインタフェース808に通信される応答を改良してよい。
【0076】
図9は、例示的な畳み込みニューラルネットワーク900(convolutional neural network)を図示している。畳み込みニューラルネットワーク900は、畳み込み層904(convolutional layer)内に視覚化されるように、そのニューロン(neurons)を三次元(幅、高さ、深さ)において配置する。畳み込みニューラルネットワーク900の各層は、3Dボリュームの入力を3D出力ボリュームのニューロン活性化(neuron activations)に変換する。この例において、入力層902は、画像を符号化するので、その幅及び高さは、画像の寸法(dimensions)であり、深さは、3(赤色、緑色、青色)チャネル)である。畳み込み層904は、入力層902の出力を更に変換し、出力層906は、畳み込み層904の出力を画像コンテンツの1つ以上の分類に変換する。
【0077】
図10は、例示的な畳み込みニューラルネットワーク層1000をより詳細に図示している。画像の入力層領域1002領域の入力層領域1004のサブ領域の例が、畳み込み層1006内の畳み込み層のサブ領域1008のセットによって分析される。入力層領域1002は、32×32の長さ及び幅のニューロン(例えば、32×32ピクセル)であり、3ニューロンの深さ(例えば、ピクセル毎に3つのカラーチャネル)である。畳み込み層1006内の各ニューロンは、空間的に(高さ及び幅において)入力層領域1002内のローカル領域(局所領域)にのみ接続されるが、全ての深さ(すなわち、入力が画像であるならば、全てのカラーチャネル)に接続される。入力層領域1002の入力層領域1004のサブ領域を分析する畳み込み層サブ領域1008の深さに沿って複数のニューロン(この例では5つのニューロン)があり、畳み込み層サブ領域1008の各ニューロンは、入力層領域1004のサブ領域のあらゆるニューロンから入力を受け取る場合があることに留意のこと。
【0078】
図11は、VGGネット1100として知られる畳み込みニューラルネットワーク(CNN)の民間に普及している形態を図示している。初期的な畳み込み層1102は、未加工の画像ピクセルを格納し、最終的なプーリング層1120は、分類スコア(class scores)を決定する。処理経路に沿った中間畳み込み層(畳み込み層1106、畳み込み層1112、及び畳み込み層1116)、及び整流器活性化(RELU層1104、RELU層1108、RELU層1114、及びRELU層1118)、及び中間プーリング層(プーリング層1110、プーリング層1120)の各々が、列(column)として示されている。
【0079】
VGGネット1100は、基本CNNの大きな単一層フィルタを、直列の複数の3×3サイズのフィルタに置き換える。所与の受容フィールド(receptive field)(出力が依存する入力画像の有効領域サイズ)を用いて、複数のスタックされたより小さいサイズのフィルタは、より大きなフィルタサイズを有する単一層よりも画像特徴分類(image feature classification)において良好に機能することがある。何故ならば、複数の非線形層はネットワークの深さを増加させ、それはネットワークがより複雑な特徴を学習することを可能にするからである。VGGネット1100において、各プーリング層は、2×2だけであってよい。
【0080】
図12は、畳み込み層1202内のニューロンのグループからの出力を次の層1206内のニューロンに接続する畳み込み層フィルタリング1200を図示している。この例では5×5のニューロンのセットである畳み込み層1202のために、受容フィールドが画定される。受容フィールドの各ニューロンの集合的な出力は、重み付けされ、次の層1206内の単一のニューロンにマッピングされる。この重み付けマッピングは、畳み込み層1202のためのフィルタ1204と呼ばれる(或いは畳み込み層1202のカーネルと呼ばれることがある)。フィルタ1204の深さは、この例には図示されていない(すなわち、フィルタ1204は、実際には、図示のような正方形ではなく、畳み込み層1202内のニューロンの体積(cubic volume)である)。よって、図示されているものは、全フィルタ1204の「スライス」である。フィルタ1204は、入力画像の周りでスライドされるか或いは畳み込まれ(convolved)、各々は、次の層1206内の異なるニューロンに時間マッピングする(time mapping)。例えば、図12は、フィルタ1204がどのように1ユニット(unit)((「ストライド(stride)」)だけ右に段付けられ(stepped)、上からわずかにオフセットされた受容フィールドを生成し、その出力を次の層1206内の次のニューロンにマッピングするかを示している。ストライドは、1以外の他の数であることができ、しばしば、1以外の数であることができ、より大きなストライドは、受容フィールドにおけるオーバーラップ(重なり合い)を減少させ、故に、次の層1206のサイズを更に減少させる。この段階的な方法で画定されることができる畳み込み層1202内のあらゆる特異な受容フィールドは、次の層1206内の異なるニューロンにマッピングされる。よって、畳み込み層1202がスライス毎に32×32×3ニューロンであるならば、次の層1206は、畳み込み層1202の全ての受容フィールドをカバーするために28×28×1ニューロンのみである必要がある。これは活性化マップ(activation map)又は特徴マップ(feature map)と呼ばれる。よって、フィルタリングによる層複雑性の低減がある。5×5フィルタが32×32畳み込み層1202上に特異に嵌合することができる784の異なる方法があるので、次の層1206は、28×28のみを必要とする。畳み込み層1202の深さも、次の層1206において3から1に減少される。
【0081】
CNNにおいて使用される層の総数、畳み込み層の数、フィルタのサイズ、及び各層でのストライドについての値は、CNNの「ハイパーパラメータ(hyperparameters)」の例である。
【0082】
図13は、2×2の受容フィールドと、2つの段(steps)とを備える、プーリング層関数1300(pooling layer function)を図示している。プーリング層関数1300は、マックスプール(maxpool)プーリング技術の一例である。入力層1302の特定の受容フィールド内の全てのニューロンの出力は、プーリング層1304内のそれらの出力のうちの最大値を有する出力によって置き換えられる。プーリングについての他のオプションは、平均プーリング及びL2標準プーリング(L2-norm pooling)である。プーリング層を使用する理由は、特定の特徴が元の入力ボリューム(高い活性化値がある)においてひとたび認識されると、その正確な場所は他の特徴に対するその相対的な場所ほどに重要ではないからである。プーリング層は、ニューラルネットワーク内のその地点から前方で入力層1302の空間的寸法を劇的に減少させることができる(深さではなく、長さ及び幅が変化する)。これは2つの主な目的に資する。第1は、パラメータ又は重みの量が大幅に減少され、よって、演算コストが減少することである。第2は、それがオーバーフィッティング(overfitting)を制御することである。オーバーフィッティングとは、モデルが訓練例に合わせて調整されるので、それがライブデータセットに適用されるときに、それが十分に一般化することができないことを指す。
【0083】
図14は、WaveNetスタック及びその受容フィールドの視覚化を例示する図1400を図示している。発話シンセサイザエンジンは、Wavenet自動回帰モデルから構成されてよい。図1400は、1つの拡張(dilation)を伴って隠れ層1404内へ供給される底にある入力層1402を示している。隠れ層1404は、2の拡張を伴って隠れ層1406に供給される。隠れ層1406は、4の拡張を伴って隠れ層1408に供給される。隠れ層1408は、8の拡張を伴って出力層1410に供給される。
【0084】
未加工のオーディオデータは、典型的には、非常に高次元(例えば、16kHzのオーディオについて、毎秒16,000サンプル)であり、発話中単語又は音楽のメロディのような、数千の時間段階に亘る複雑な階層構造を含む。標準的な因果畳み込み層(causal convolution layers)でそのような長期依存性をモデリングすることは、十分に広い受容フィールドを確保するために非常に深いネットワークを必要とする。WaveNetは、受容フィールドが深さ共に指数関数的に成長することを可能にする拡張した因果畳み込みを用いることによって、この制約を回避する。
【0085】
WaveNetは、深い畳み込みニューラルネットワーク(CNN)として知られるフィードフォワードニューラルネットワークの一種である。これらは、脳のニューロンに幾分似た相互に連結したノード(結節)の層からなる。WaveNetにおいて、CNNは、未加工の信号を入力として取り、一度に1つのサンプル毎に出力を合成する。それは、μ則複合変換を用いて符号化され、256の可能な値に量子化される、信号値のソフトマックス(すなわち、カテゴリ的な)分布からのサンプリングによって行われる。
【0086】
「CTC損失関数(CTC loss function)」とは、タイミングが可変であるシークエンス問題に取り組むために、LSTMネットワークのようなリカレントニューラルネットワーク(RNN)を訓練するための、ニューラルネットワーク出力及び関連スコアリング関数の一種である、コネクショニスト時間分類(connectionist temporal classification)を指す。CTCネットワークは、ラベルの確率をモデル化する訓練を通じて適合される連続出力(例えば、ソフトマックス)を有する。CTCは、境界及びタイミングを学習しようとはしない。すなわち、ラベルシーケンス(label sequences)が、空白を無視して整列(アラインメント)においてのみ異なるならば、ラベルシーケンスは、等価とみなされる。等価なラベルシーケンスは、多くの方法で生じることができ、それはスコアリングを簡単でない作業とする。幸いなことに、そのための効率的なフォワード-バックワードアルゴリズムがある。次に、CTCスコアは、逆伝搬アルゴリズムと共に使用して、ニューラルネットワーク重みを更新することができる。CTC適合ニューラルネットワークに対する代替的なアプローチは、隠れマルコフモデル(HMM:hidden Markov model)を含む。
【0087】
「ゲート付き回帰型ユニット(GRU:Gated Recurrent Unit))」とは、リカレントニューラルネットワークにおけるゲート機構を意味する。GRUは、LSTMよりも小さいデータセットでより良い性能を示すことがある。それらはLSTMよりも少ないパラメータを有する。何故ならば、それらには出力ゲートがないからである。https://en.wikipedia.org/wiki/Gated_recurrent_unitを参照
【0088】
「ビーム検索(beam search)」とは、限定されたセット内の最も有望なノードを拡張することによってグラフを探索する発見的検索アルゴリズム(heuristic search algorithm)を指す。ビーム検索は、メモリ要求を減らす最良優先検索(best-first search)の最適化である。最良優先検索は、ある発見的方法に従って全ての部分解(状態)を順序付けるグラフ検索である。しかしながら、ビーム検索では、所定の数の最良部分解のみが候補として保持される。よって、それは欲張りなアルゴリズムである。ビーム検索は、その検索ツリーを構築するために幅優先検索を使用する。ツリーの各レベルで、それは現在のレベルで状態のすべての後継を生成し、発見的コストの増加する順序でそれらをソートする。しかしながら、それは(ビーム幅と呼ばれる)各レベルで最良の状態の所定の数βのみを格納する。それらの状態のみが次に拡張される。ビーム幅が大きいほど、より少ない状態がプルーニングされる(pruned)。ビーム幅が無限大であるならば、状態はプルーニングされず、ビーム検索は幅優先検索と同一である。ビーム幅は、検索を実行するために必要とされるメモリを制限する。目標状態(goad state)は、潜在的にプルーニングされ得るので、ビーム検索は、完全性(解が存在するならば、アルゴリズムが解で終了するという保証)を犠牲にする。ビーム検索は、最適ではない(すなわち、それが最良の解を見出す保証はない)。一般的に、ビーム検索は、見出された最初の解を返す。機械翻訳のためのビーム検索は、異なる場合である。設定された最大検索深さ(すなわち、翻訳長)にひとたび達すると、アルゴリズムは、様々な深さで検索中に見出される解を評価し、最良の解(最も高い確率を有する解)を返す。ビーム幅は、固定されることができ、或いは可変であることができる。可変ビーム幅を使用する1つのアプローチは、最小にある幅で開始する。解が見出されないならば、ビームは広げられ、手順を繰り返される。
【0089】
「アダム最適化(Adam optimizer)」とは、訓練データに基づいてネットワーク重みを反復的に更新するために、古典的な確率的勾配降下手順(stochastic gradient descent procedure)の代わりに使用することができる最適化アルゴリズムを指す。確率的勾配降下は、全ての重み更新について(アルファと呼ばれる)単一の学習速度を維持し、学習速度は訓練中に変化しない。学習速度は、各ネットワーク重み(パラメータ)について維持され、学習が展開するにつれて別々に適応される。アダムは、確率的勾配降下の2つの他の拡張の利点を組み合わせる。具体的には、疎らな勾配の問題(例えば、自然言語及びコンピュータビジョン問題)に対するパフォーマンスを改善するパラメータ毎の学習速度を維持する適合勾配アルゴリズム(AdaGrad:Adaptive Gradient Algorithm)、及び重みについての勾配の最近の大きさの平均(例えば、それがどれぐらい素早く変化しているか)に基づいて適合されるパラメータ毎の学習速度も維持する二乗平均平方根伝搬(RMSProp:Root Mean Square Propagation)である。これはアルゴリズムがオンライン及び非定常問題(例えば、ノイズ)に対してうまく機能することを意味する。アダムは、AdaGrad及びRMSPropの両方の利益を実現する。RMSPropにおけるように平均一次モーメント(平均)に基づいてパラメータ学習速度を適応させる代わりに、アダムは、勾配の二次モーメントの平均(中心化されない分散(uncentered variance))も利用する。具体的には、アルゴリズムは、勾配及び二乗勾配の指数移動平均を計算し、パラメータベータ1及びベータ2は、これらの移動平均の減衰率を制御する。移動平均の初期値並びに(推奨される)1.0に近いベータ1及びベータ2の値は、ゼロに向かうモーメント推定のバイアスを生む。このバイアスは、バイアスのかかった推定値を先ず計算し、バイアス補正された推定値を次に計算することによって、克服される。
【0090】
本明細書において、「1つの実施形態」又は「ある実施形態」への言及は、同じ実施形態を必ずしも言及しないが、それらは同じ実施形態を指すことがある。文脈が明らかに他のことを要求しない限り、明細書及び特許請求の範囲を通じて、「含む(comprise)」、「含む(comprising)」、及び同等の用語は、排他的又は網羅的な意味ではなく、包括的な意味で、すなわち、「含むが、それに限定されない」という意味で解釈されるべきである。単数又は複数の数を使用する語は、単一のもの又は複数のものに明らかに限定されない限り、それぞれ、複数の又は単数の数を含む。加えて、この出願において使用されるとき、「本明細書において(herein)」、「上記(above)」、「下記(below)」、及び類似の意味を有する語は、この出願全体を指し、この出願の如何なる特定の部分も指さない。請求項が2以上の項目のリストに関して「又は(or)」という語を使用するとき、その語は、明示的に一方に限定されない限り、その語の以下の解釈、すなわち、リスト中の項目のうちのいずれか、リスト中の項目の全て、及びリスト中の項目の任意の組み合わせの全てをカバーする。本明細書中で明確に定義されない用語は、当業者によって一般的に理解されるような、それらの従来的な意味を有する。
【0091】
本明細書に記載する様々な論理関数演算は、前記演算又は関数を反映する名詞又は名詞句を使用して参照される論理で実装されてよい。例えば、関連演算(association operation)は、「連想装置(associator)」又は「相関器(correlator)」によって実行されてよい。同様に、切り替え(スイッチング)は、「スイッチ」、「セレクタ」による選択などによって実行されてよい。
【0092】
開示の主題事項は、その適用において、構造の詳細及び以下の記述に記載する或いは図面に図示する構成要素の配置に限定されないことが理解されるべきである。開示の主題事項は、他の実施形態が可能であり、様々な方法で実施され且つ実行されることができる。また、本明細書で使用する言い回し及び用語は、記載の目的のためであり、限定として解釈されてならないことが理解されるべきである。
【0093】
よって、当業者は、この開示の基礎となる概念が、開示の主題事項の幾つかの目的を実行するための他の構造、システム、方法及び媒体を設計するための基礎として容易に利用される場合があることを理解するであろう。従って、特許請求の範囲は、それらが開示の主題事項の精神及び範囲から逸脱しない限り、そのような均等な構成を含むものとみなされるべきことが重要である。
【0094】
開示の主題事項は、前述の例示的な実施形態において記載され且つ図示されるが、本開示は一例として行われているに過ぎないこと、並びに開示の主題事項の実装の詳細における多数の変更が後続の特許請求の範囲によってのみ限定される開示の主題事項の精神及び範囲から逸脱することなく行われる場合があることが理解されるであろう。
【0095】
感情分析エンジンの1つのタイプは、2016年12月12日に出願された特許文献1「Method and system for achieving emotional text to speech」に完全に記載されている。記載のシンセサイザは、任意の数の知られている感情分析エンジン/アルゴリズムから導出される感情スコアを利用することがある。
【先行技術文献】
【特許文献】
【0096】
【特許文献1】米国特許出願第15/375,634号明細書
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【国際調査報告】