【解決手段】 会話応答生成方法は、過去の発話を含む会話文脈に対して潜在変数空間内で敵対的生成ネットワーク(GAN)を学習させることによってデータ分布をモデリングした会話モデルを学習する段階、および会話モデルによってデータ分布からサンプリングされた潜在変数を利用して会話応答を生成する段階を含む。
前記文脈−依存ランダムノイズは、順伝播型ニューラルネットワーク(FFNN)である事前ネットワークと認知ネットワークそれぞれによって前記会話文脈から計算される正規分布から導き出される、
請求項3に記載の会話応答生成方法。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
【0023】
本発明の実施形態は、会話応答を自動生成する技術に関する。
【0024】
本明細書で具体的に開示される事項などを含む実施形態は、音声基盤インタフェースを活用したサービス環境においてディープラーニング生成モデルとマルチモーダル分布を利用してマルチターン方式の会話応答を生成することができ、これによって多様性、連係性、正確性、効率性などの側面において相当な長所を達成することができる。
【0025】
図1は、本発明の一実施形態における、音声基盤インタフェースを活用したサービス環境の例を示した図である。
図1の実施形態では、スマートホーム(smart home)やホームネットワークサービスのように宅内のデバイスを連結して制御する技術において、音声を基盤として動作するインタフェースを提供する電子機器100がユーザ110の発話によって受信した音声入力「電気を消して」を認識および分析し、宅内で内部ネットワークを介して電子機器100と連結している宅内照明機器120の電源を制御する例を示している。
【0026】
例えば、宅内のデバイスは、上述した宅内照明機器120の他にも、テレビ、PC(Personal Computer)、周辺機器、エアコン、冷蔵庫、ロボット掃除機などのような家電製品はもちろん、水道、電気、冷暖房機器などのようなエネルギー消費装置、ドアロックや監視カメラなどのような保安機器など、オンライン上で連結して制御することのできる多様なデバイスを含んでよい。また、内部ネットワークは、イーサネット(Ethernet)(登録商標)、HomePNA、IEEE1394のような有線ネットワーク技術、ブルートゥース(Bluetooth)(登録商標)、UWB(ultra Wide Band)、ジグビー(ZigBee)(登録商標)、Wireless1394、HomeRFのような無線ネットワーク技術などが活用されてよい。
【0027】
電子機器100は、宅内のデバイスのうちの1つであってよい。例えば、電子機器100は、宅内に備えられた人工知能スピーカやロボット清掃機などのようなデバイスのうちの1つであってよい。また、電子機器100は、スマートフォン(smart phone)、携帯電話、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットなどのようなユーザ110のモバイル機器であってもよい。このように、電子機器100は、ユーザ110の音声入力を受信して宅内のデバイスを制御するために宅内のデバイスと連結可能な機能を備えた機器であれば、特に制限されることはない。また、実施形態によっては、上述したユーザ110のモバイル機器が宅内のデバイスとして含まれてもよい。
【0028】
図2は、本発明の一実施形態における、音声基盤インタフェースを活用したサービス環境の他の例を示した図である。
図2は、音声を基盤として動作するインタフェースを提供する電子機器100がユーザ110の発話によって受信した音声入力「今日の天気」を認識および分析し、外部ネットワークを介して外部サーバ210から今日の天気に関する情報を取得し、取得した情報を「今日の天気は・・・」のように音声で出力する例を示している。
【0029】
例えば、外部ネットワークは、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wid earea network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。
【0030】
図2の実施形態でも、電子機器100は、宅内のデバイスのうちの1つであっても、ユーザ110のモバイル機器のうちの1つであってもよく、ユーザ110の音声入力を受信して処理するための機能と、外部ネットワークを介して外部サーバ210に接続して外部サーバ210が提供するサービスやコンテンツをユーザ110に提供するための機能とを含む機器であれば、特に制限されることはない。
【0031】
このように、本発明の実施形態に係る電子機器100は、音声基盤インタフェースを利用してユーザ110の発話によって受信される音声入力を含むユーザ命令を処理することができる機器であれば、特に制限されなくてよい。例えば、電子機器100は、ユーザの音声入力を直接に認識および分析し、音声入力に適した動作を実行することによってユーザ命令を処理してもよいが、実施形態によっては、ユーザの音声入力に対する認識や認識された音声入力の分析、ユーザに提供される音声の合成などの処理を、電子機器100と連係する外部のプラットフォームに実行させてもよい。
【0032】
図3は、本発明の一実施形態における、クラウド人工知能プラットフォームの例を示した図である。
図3は、電子機器310、クラウド人工知能プラットフォーム320、およびコンテンツ・サービス330を示している。
【0033】
一例として、電子機器310は、宅内に備えられたデバイスを意味してよく、少なくとも上述した電子機器100を含んでよい。このような電子機器310や電子機器310においてインストールされて実行されるアプリケーション(以下、アプリとする)は、インタフェースコネクト340を介してクラウド人工知能プラットフォーム320と連係してよい。ここで、インタフェースコネクト340は、電子機器310や電子機器310においてインストールされて実行されるアプリの開発のためのSDK(Software Development Kit)および/または開発文書を開発者に提供してよい。また、インタフェースコネクト340は、電子機器310や電子機器310においてインストールされて実行されるアプリが、クラウド人工知能プラットフォーム320によって提供される機能を活用することができるAPI(Application Program Interface)を提供してよい。具体的な例として、開発者は、インタフェースコネクト340が提供するSDKおよび/または開発文書を利用して機器やアプリを開発することができ、このように開発した機器やアプリは、インタフェースコネクト340が提供するAPIを利用してクラウド人工知能プラットフォーム320が提供する機能を活用することができるようになる。
【0034】
ここで、クラウド人工知能プラットフォーム320は、音声基盤のサービスを提供するための機能を提供してよい。例えば、クラウド人工知能プラットフォーム320は、受信した音声を認識し、出力する音声を合成するための音声処理モジュール321、受信した映像や動画を分析して処理するためのビジョン処理モジュール322、受信した音声に適合する音声を出力するために適切な会話を決定するための会話処理モジュール323、受信した音声に適した機能を勧めるための推薦モジュール324、人工知能がデータ学習に基づいて文章単位で言語を翻訳するように支援するニューラル機械翻訳(Neural MachineTranslation:NMT)325などのように、音声基盤サービスを提供するための多様なモジュールを含んでよい。
【0035】
例えば、
図1および
図2の実施形態において、電子機器100は、ユーザ110の音声入力を、インタフェースコネクト340が提供するAPIを利用してクラウド人工知能プラットフォーム320に送信したとする。この場合、クラウド人工知能プラットフォーム320は、受信した音声入力を、上述したモジュール321〜325を活用して認識および分析することにより、受信した音声入力に適した返答音声を合成して提供したり、適した動作を推薦したりするようになる。
【0036】
また、拡張キット350は、第三者コンテンツ開発者または会社が、クラウド人工知能プラットフォーム320に基づいて新たな音声基盤機能を実現することができる開発キットを提供してよい。例えば、
図2の実施形態において、電子機器100は、ユーザ110の音声入力を外部サーバ210に送信し、外部サーバ210は、拡張キット350として提供されるAPIからクラウド人工知能プラットフォーム320に音声入力を送信したとする。この場合、上述したものと同じように、クラウド人工知能プラットフォーム320は、受信した音声入力を認識および分析して、適した返答音声を合成して提供したり、音声入力によって処理されなければならない機能に対する推薦情報を外部サーバ210に提供したりしてよい。一例として、
図2において、外部サーバ210は、音声入力「今日の天気」をクラウド人工知能プラットフォーム320に送信し、クラウド人工知能プラットフォーム320から音声入力「今日の天気」の認識によって抽出されるキーワード「今日」および「天気」を受信したとする。この場合、外部サーバ210は、キーワード「今日」および「天気」に基づいて「今日の天気は・・・」のようなテキスト情報を生成し、生成されたテキスト情報をクラウド人工知能プラットフォーム320に再送してよい。このとき、クラウド人工知能プラットフォーム320は、テキスト情報を音声で合成して外部サーバ210に提供してよい。外部サーバ210は、合成された音声を電子機器100に送信してよく、電子機器100は、合成された音声「今日の天気は・・・」をスピーカから出力することにより、ユーザ110から受信した音声入力「今日の天気」が処理されてよい。
【0037】
このとき、電子機器100は、ユーザとの会話を基盤としてデバイス動作やコンテンツ提供を行うためのものである。
【0038】
図4は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
図4の電子機器410は、上述した電子機器100に対応してよく、サーバ420は、上述した外部サーバ210またはクラウド人工知能プラットフォーム320を実現する1つのコンピュータ装置に対応してよい。
【0039】
電子機器410とサーバ420は、メモリ411、421、プロセッサ412、422、通信モジュール413、423、および入力/出力インタフェース414、424を含んでよい。メモリ411、421は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)、フラッシュメモリ(flash memory)などのような永続的大容量記録装置を含んでよい。ここで、ROM、SSD、フラッシュメモリ、ディスクドライブのような永続的大容量記録装置は、メモリ411、421とは区分される別の永続的記録装置として電子機器410やサーバ420に含まれてもよい。また、メモリ411、421には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電子機器410にインストールされて特定のサービスの提供のために電子機器410で実行されるアプリケーションなどのためのコード)が記録されてよい。このようなソフトウェア構成要素は、メモリ411、421とは別のコンピュータ読み取り可能な記録媒体からロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信モジュール413、423を通じてメモリ411、421にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システムがネットワーク430を介して提供するファイルによってインストールされるコンピュータプログラム(一例として、上述したアプリケーション)に基づいて電子機器410のメモリ411にロードされてよい。
【0040】
プロセッサ412、422は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ411、421または通信モジュール413、423によって、プロセッサ412、422に提供されてよい。例えば、プロセッサ412、422は、メモリ411、421のような記録装置に記録されたプログラムコードに従って受信される命令を実行するように構成されてよい。
【0041】
通信モジュール413、423は、ネットワーク430を介して電子機器410とサーバ420とが互いに通信するための機能を提供してもよいし、電子機器410および/またはサーバ420が他の電子機器または他のサーバと通信するための機能を提供してもよい。一例として、電子機器410のプロセッサ412がメモリ411のような記録装置に記録されたプログラムコードに従って生成した要求が、通信モジュール413の制御に従ってネットワーク430を介してサーバ420に伝達されてよい。これとは逆に、サーバ420のプロセッサ422の制御に従って提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール423とネットワーク430を経て電子機器410の通信モジュール413を通じて電子機器410に受信されてよい。例えば、通信モジュール413を通じて受信されたサーバ420の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ412やメモリ411に伝達されてよく、コンテンツやファイルなどは、電子機器410がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0042】
入力/出力インタフェース414は、入力/出力装置415とのインタフェースのための手段であってよい。例えば、入力装置は、キーボード、マウス、マイクロフォン、カメラなどの装置を、出力装置は、ディスプレイ、スピーカ、触覚フィードバックデバイスなどのような装置を含んでよい。他の例として、入力/出力インタフェース414は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置415は、電子機器410と1つの装置で構成されてもよい。また、サーバ420の入力/出力インタフェース424は、サーバ420に接続されるかサーバ420が含むことができる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器410のプロセッサ412がメモリ411にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ420や他の電子機器が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース414を通じてディスプレイに表示されてよい。
【0043】
また、他の実施形態において、電子機器410およびサーバ420は、
図4の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器410は、上述した入力/出力装置415のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器410がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などのような多様な構成要素が、電子機器410にさらに含まれるように実現されてよい。
【0044】
本実施形態において、電子機器410は、ユーザの音声入力を受信するためのマイクを入力/出力装置415として基本的に含んでよく、ユーザの音声入力に対応する返答音声やオーディオコンテンツのような音を出力するためのスピーカを、入力/出力装置415としてさらに含んでよい。
【0045】
本発明では、条件付き(conditional)ワッサースタインオートエンコーダ(Wasserstein AutoEncoder:WAE)を利用してマルチモーダル応答(multimodal response)を生成する会話モデル(以下、DialogWAE会話モデル)を提案する。
【0046】
会話応答生成(dialog response generation)は、長年に渡る自然語研究のテーマである。データ−基盤(data−driven)のニューラルネットワーク会話モデリングに対する近年の方式の大部分は、主にseq2seq(sequence−to−sequence)学習もしくはメモリネットワーク(memory network)を基盤としている。ところが、seq2seq会話モデルの場合は、意味を有しながらも多様性があってトピックに適した応答を生成するのが難しく、メモリネットワーク基盤モデルの場合は、メモリの増加によるモデルのサイズと速度などに問題がある。
【0047】
変分オートエンコーダ(VAE:Variational AutoEncoder)は、seq2seq会話モデルの問題解決に有望な結果を示した。VAEは、応答に対する高水準セマンティクス(high−level semantics)を表現する潜在変数(latent variables)の近似事後分布(approximate posterior distribution)を算出するために認知ネットワーク(recognition network)を使用し、この分布のサンプルを条件として応答を単語別にデコードする。例えば、潜在変数は、トピック(topics)、トーン(tones)、または高水準統語的特性(high−level syntactic properties)をキャプチャすることで多様な応答を生成する。しかし、大部分のVAE会話モデルは、潜在変数に対する近似事後分布を標準正規分布のような単純な事前分布(prior distribution)に対応することによって生成された応答を、相対的に単純な(例えば、シングルモーダル(single−modal))範囲に制限する。
【0048】
VAEの他にも、応答に対する分布を直接モデリングするGAN(Generative Adversarial Network)基盤の会話モデルも登場したが、これは離散トークン(discrete tokens)に対する敵対的学習(adversarial training)が非可微分性(non−differentiability)によって複雑になるという問題を抱えている。
【0049】
さらに、GANに強化学習(reinforcement learning:RL)を適用したハイブリッド方式の会話モデルも登場したが、このモデルでは、識別器(discriminator)が予想した数値を、生成器(generator)学習のための報酬(reward)として使用する。しかし、強化学習は、勾配推定(gradient estimate)の高い変動によって安定的でなく、近似単語埋め込み層(approximate word embedding layer)でGANモデルを微分可能なようにさせて単語水準の変動性(variability)を加えただけなので、結果的にはトピック(topics)および状況(situations)のような高水準応答変動性を表現するには適さない。
【0050】
したがって、本発明では、ニューラル会話モデリングのためのGANの新たな変形であるDialogWAE会話モデルを提案する。潜在変数に対して分布を加えるだけの既存のVAE会話モデルとは異なり、本発明に係るDialogWAE会話モデルは、潜在変数空間(latent variable space)内でGANを学習させることによってデータ分布をモデリングする。特に、本発明に係るDialogWAE会話モデルは、ニューラルネットワークを利用して文脈−依存ランダムノイズを変換することによって潜在変数に対する事前分布および事後分布からサンプリングをし、事前分布と事後分布のワッサースタイン距離を最小化する。また、本発明に係るDialogWAE会話モデルは、混合ガウス事前ネットワークを使用することによって応答のマルチモーダル性質を考慮する。混合ガウス事前ネットワークによる敵対的学習は、DialogWAEが豊かな潜在空間をキャプチャできるようにするが、これは論理的かつ有用ながらも多様な応答を生成できるようにさせる。
【0051】
本発明に係るDialogWAE会話モデルは、(1)潜在変数に対するサンプルを生成するためにGANを利用したニューラル会話モデリング用GAN基盤モデル、および(2)マルチモーダル事前分布からランダムノイズをサンプリングするための混合ガウス事前ネットワークを含む。したがって、本発明に係るDialogWAE会話モデルは、マルチモーダル潜在構造を利用したGAN会話モデルとして実現されるようになる。
【0052】
エンコーダ−デコーダ変形(Encoder−decoder variants):純粋なエンコーダ−デコーダ会話モデルに対する「安全な応答(safe response)」問題を処理するために多数の変形が存在する。本発明に係るDialogWAE会話モデルは、状況およびトピックのような過多情報量(extra information)を必要としない点において、既存の会話モデルとは区別される。
【0053】
VAE会話モデル(VAE conversation models):変分オートエンコーダ(VAE)は、会話モデリングのための最も大衆的なフレームワークの1つである。VAE会話モデルの主な問題である「事後崩壊(posterior collapse)」を解決するために、デコーダに予備単語集損失(auxiliary bag−of−words loss)を導入したモデル、対話動作(dialogue acts)、およびスピーカプロファイル(speaker profiles)のような補助会話情報を統合する知識基盤CVAEモデル(knowledge−guided CVAE model)、ニューラルネットワークを使用してガウスノイズを変換することによって潜在変数に対する事前および事後分布からサンプリングをし、KLダイバージェンス(KL divergence)によってガウスノイズの事前および事後分布を対応させる協調型(collaborative)CVAEモデル、潜在変数の階層構造と発話脱落正規化(utterance drop regularization)を統合させる変分階層的会話RNN(Variational Hierarchical Conversation RNN(再帰型ニューラルネットワーク:Reccurent Neural Network):VHCR)モデルなどが登場した。本発明に係るDialogWAE会話モデルは、潜在空間内にGANアーキテクチャを使用することによってVAE会話モデルの限界を解決する。
【0054】
GAN会話モデル(GAN conversation models):GAN/条件付きGAN(CGAN)がイメージ生成において高い成功を収めているが、これを自然語会話生成子に適用させるのは簡単な作業ではない。これは、自然語トークン(natural language tokens)の非可微分(non−differentiable)性質のためである。この問題は、識別器(discriminator)が生成器を最適化するために報酬を予想する強化学習とGANとを結合することによって解決することができる。しかし、強化学習は、サンプリングされた高い勾配変動によって安定的でない。さらに、GAN会話モデルは、デコーダが習得した単語確率(word probabilities)と対応する単語ベクトル(word vectors)を直接乗算することによってseq2seq GANが微分可能となるようにし、目標配列(target sequence)に対して大略的にベクトル化された表現式を導き出させる。しかし、上述したような方式は、全体的な応答水準というよりは単語水準での多様性を保障するものに過ぎない。本発明に係るDialogWAE会話モデルは、直接トークン(direct tokens)の代わりに高い水準の潜在空間で応答に対する分布を形成し、傾斜変動が高いRLには依存しないという点において、既存のGAN会話モデルとは区別される。
【0055】
本発明に係るDialogWAE会話モデルは、上述した電子機器410またはサーバ420のようなコンピュータシステムに実現されてよく、ディープラーニング生成モデルとマルチモーダル分布に基づいてマルチターン方式の会話応答を生成する。このとき、コンピュータシステム410、420のプロセッサ412、422は、メモリ411、421が含むオペレーティングシステムのコードと少なくとも1つのプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ412、422は、コンピュータシステム410、420に記録されたコードが提供する制御命令に従って、コンピュータシステム410、420が、後述するDialogWAE会話モデルを基盤とした会話応答生成方法を実行するように、コンピュータシステム410、420を制御してよい。
【0056】
本発明に係るDialogWAE会話モデルを具体的に説明すると、次のとおりとなる。
【0057】
問題ステートメント(Problem Statement)
d=[u
1,...,u
k]がk件の発話(utterance)に対する会話発話(dialogue utterance)を示すとする。ここで、u
i=[w
1,...,w
|ui|]は1つの発話を示し、w
nはu
i内のn番目の単語(word)を示す。
【0058】
また、c=[u
1,...,u
k−1]は、k−1件の過去の発話(historical utterances)である会話文脈(dialogue context)を示し、x=u
kは、次の発話を意味する応答(response)を示す。
【0059】
DialogWAE会話モデルの目標は、過去の発話が与えられたときに、現在の応答に対する条件付き分布(conditional distribution)であるp
θ(x|c)を推定することにある。
【0060】
xとcが離散トークン(discrete tokens)に対する配列(sequence)であるため、これらの間の直接的な結合を見つけることは簡単ではない。その代わりに、応答に対する高いレベルの表現式を示す連続的な潜在変数zを導入する。
【0061】
応答生成は2つの段階からなると見なされるが、ここで、潜在変数zは、潜在空間Z上の分布p
θ(x|c)からサンプリングされ、その後、応答xは、p
θ(x|z,c)を使用してzからデコードされる。DialogWAE会話モデル下において、応答の確率は、方程式(1)のように定義されてよい。
【0063】
潜在変数zを周辺化(marginalize out)するのは困難であるため、正確なログ確率を計算するのは難しい。このため、本発明では、潜在変数zに対する事後分布をq
φ(z|x,c)によって近似化するが、これは認知ネットワーク(recognition network:RecNet)とよばれるニューラルネットワークによって計算されてよい。このような近似的な事後分布を使用して変分下限(evidence lower bound:ELBO)を代わりに計算してよい(方程式(2))。
【0065】
ここで、p(z|c)は、cが与えられたときのzに対する事前分布を示し、事前ネットワークとよばれるニューラルネットワークによってモデリングされてよい。
【0066】
会話モデリングのための条件付きワッサースタインオートエンコーダ
既存のVAE会話モデルは、潜在変数zが正規分布のように単純な事前分布によるものと仮定する。しかし、実際の応答の潜在空間はより複雑であり、単純な分布で推定することは難しい。これは、しばしば事後崩壊の問題を引き起こす。
【0067】
本発明に係るDialogWAE会話モデルは、GANと敵対的オートエンコーダ(Adversarial Auto−Encoder:AAE)に基づき、潜在空間内でGANを学習させることによってzに対する分布をモデリングする。
【0068】
本発明では、ニューラルネットワークを使用してランダムノイズ(random noise)εを変換することにより、潜在変数に対する事前および事後分布からサンプリングする。
【0070】
【数3】
は、生成器Gによって文脈−依存ランダムノイズ
【0071】
【数4】
から生成されるが、近似事後サンプルz〜q
φ(z|c,x)は、生成器Qによって文脈−依存ランダムノイズεから生成される。
【0072】
【数5】
とεは、平均と共分散行列(対角線行列と仮定)が順伝播型ニューラルネットワーク(feed−forward neural networks:FFNN)である事前ネットワークおよび認知ネットワークそれぞれによってcから計算される正規分布から導き出される(方程式(3)と方程式(4))。
【0074】
ここで、f
θ(・)およびq
φ(・)は、順伝播型ニューラルネットワークである。本発明に係るDialogWAE会話モデルの目標は、p
θ(z|c)とq
φ(z|x,c)とのダイバージェンス(divergence)を最小化する反面、zから再構成される(reconstructed)応答のログ確率を最大化することにある。
【0075】
本発明に係るDialogWAE会話モデルは、方程式(5)の問題に関する。
【0077】
ここで、事前分布p
θ(z|c)および事後分布q
φ(z|x,c)はそれぞれ、方程式(3)と方程式(4)を実現するニューラルネットワークである。p
ψ(x|z,c)はデコーダであり、W(・||・)は2つの分布間のワッサースタイン距離を意味する。
【0078】
図5は、本発明における、DialogWAE会話モデルを示した概略図である。
【0079】
発話エンコーダ(utterance encoder)(RNN)501は、会話内の(応答xを含む)各発話を実数ベクトル(real−valued vector)に変換する。
【0080】
文脈エンコーダ(context encoder)(RNN)502は、文脈内のi番目の発話でエンコードベクトルと会話フロア(conversation floor)504の連結(concatenation)を入力から受けて、隠れ状態(hidden state)
【0081】
【数8】
を計算する。文脈エンコーダ502の最後の隠れ状態は、文脈表現式(context representation)として使用される。
【0082】
生成時期に、DialogWAE会話モデルは、平均と対角線行列共分散それぞれを引き起こす2つの行列乗算に伴う順伝播型ネットワークによって文脈cを変換する事前ネットワーク(PriNet)510からランダムノイズ
【0083】
【数9】
511を導き出す。その後、生成器512は、順伝播型ネットワークによってノイズ511から潜在変数
【0084】
【数10】
513のサンプルを生成する。デコーダRNNは、生成された
【0085】
【数11】
513を応答としてデコードする。
【0086】
学習時期に、DialogWAE会話モデルは、文脈cと応答xを条件として潜在変数に対する事後分布を推論する。認知ネットワーク(RecNet)520は、xとcの連結を入力から受け、正規平均と対角線行列共分散それぞれを定義する2つの行列乗算に伴う順伝播型ネットワークによって変換する。ガウスノイズ(Gaussian noise)ε521は、再パラメータ化トリック(re−parametrization trick)を使用して認知ネットワーク520から導き出される。その後、生成器Q522は、順伝播型ネットワークを介して、ガウスノイズε521を潜在変数z523に対するサンプルに変換する。応答デコーダ(RNN)503は、再構成損失(reconstruction loss)を方程式(6)によって計算する。
【0088】
事前サンプルを事後サンプルと区別する敵対的識別器(adversarial discriminator)D530を導入することにより、zに対する事前分布と近似事後分布を対応させる。D530は、入力からcとzの連結を受け、実数値(real value)を出力する順伝播型ニューラルネットワークによって実現される。
【0089】
方程式(7)のように、識別器損失を最小化することによってD530を学習する。
【0091】
具体的な図は省略したが、DialogWAE会話モデルは、潜在空間内で会話文脈cとともにスピーカ(speaker)情報を学習させることによってスピーカスタイルを考慮し、zに対する分布をモデリングすることができる。したがって、本発明に係るDialogWAE会話モデルは、与えられた文脈に対し、該当のスピーカの会話スタイルに合った応答を生成して提供することが可能となる。
【0092】
混合ガウス事前ネットワークによるマルチモーダル応答の生成
条件付き敵対的オートエンコーダ(AAE)アーキテクチャにおいて、事前分布が正規分布であることは一般的な適用である。しかし、大概の応答は、同等な可能性がある多数の状況、トピック、および感情を反映するマルチモーダル性質(multimodal nature)を有する。正規分布を有するランダムノイズは、ガウス分布のシングルモーダル性質に基づいて生成器がシングル基本モード(sigle dominant mode)によって潜在空間を生成するように制限してよい。結果的に、生成された応答は、単純なプロトタイプによることもある。
【0093】
潜在変数に対する確率分布でマルチモードをキャプチャするために、本発明では、1つ以上のモードKを有することのできる分布を使用する。毎回、潜在変数を生成するノイズがこのモードのうちの1つから選択される。これを達成するために、本発明に係るDialogWAE会話モデルでは、事前ネットワークが
【0094】
【数14】
とよばれるガウス分布の混合をキャプチャするようにする。ここで、π
k、μ
k、およびσ
kは、k番目の構成要素のパラメータである。これは、2段階の生成手順によって潜在変数空間でマルチモーダル多様体(multimodal manifold)を学習するようにする。最初の段階ではπ
kとして構成要素kを選択し、次の段階では選択された構成要素によって方程式(8)のようにガウスノイズをサンプリングする。
【0096】
ここで、v
k∈Δ
K−1は、クラス確率π
1,...,π
Kを有する構成要素指示子(indicator)であり、π
Kは、GMMのk番目の構成要素の混合係数(mixture coefficient)である。
【0097】
π
Kは方程式(9)のように計算される。
【0099】
正確なサンプリングの代わりに、本発明では、構成要素指示子vに対するインスタンスをサンプリングするために、方程式(10)のようにGumbel−softmax再媒介化を使用する。
【0101】
ここで、g
iは、方程式(11)のように計算されるGumbelノイズである。
【0103】
T∈[0,1]は、すべての実験で0.1に設定されたsoftmax温度である。
【0104】
訓練(Training)
本発明に係るDialogWAE会話モデルの詳細な学習手順の一例は、
図6に示したアルゴリズム1のとおりである。
【0105】
図6を参照すると、DialogWAE会話モデルは、収束(convergence)に達するまでエポック単位(epochwise)で学習する。各エポックでデコードされた応答の再構成損失が最小化されるオートエンコーダ(AE)段階と、潜在変数のすべての事後分布が条件付き事前分布とマッチされるGAN段階とを繰り返して施行することによって会話モデルを学習する。一例として、DialogWAE会話モデルの詳細な学習手順は、
図6に示したアルゴリズム1のとおりである。
【0106】
図7は、日常会話データセットにおいて、本発明に係るDialogWAE会話モデルによって生成された応答の例を示した図である。
図7のテーブルにおいて、「_eou_」はturnの変化を示し、「Eg.i」はi番目の応答を示す。
【0107】
図7は、与えられた文脈に対し、会話モデルによって生成された応答からなる文脈−応答ペアであり、既存のモデル(CVAE−CO)によって生成された応答と本発明に係るDialogWAE会話モデル(DialogWAE−GMP)によって生成された応答とを比較したものである。
【0108】
図7に示すように、DialogWAE会話モデル(DialogWAE−GMP)は、可能となる様々な側面を扱いながら一貫かつ多様な応答を生成していることが分かる。さらに、DialogWAE会話モデル(DialogWAE−GMP)は、既存のモデル(CVAE−CO)の応答に比べ、長くて有益な内容を含んだ応答を提示していることが分かる。
【0109】
既存のモデル(CVAE−CO)によって生成された応答は、比較的制限された変化を示しており、応答内容に若干の変形はあるものの、大部分は似たような表現(例えば、「how much」など)が繰り返されていることが分かる。
【0110】
このように、本発明の実施形態によると、ニューラルネットワークを利用して文脈−依存ランダムノイズを変換することによって潜在変数に対する事前分布と事後分布からサンプリングし、2つの分布間のワッサースタイン距離を最小化する会話モデルを実現することができ、これによって会話全体の脈絡に対する会話応答を生成することができる。さらに、潜在空間をより豊かにさせるための混合ガウス事前ネットワークを使用することで会話応答のマルチモーダル性質を考慮した会話モデルを向上させることができ、これによって論理的かつ有用ながらも多様な会話応答を生成することができる。
【0111】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0112】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0113】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0114】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0115】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。