(本開示の基礎となった知見)
特許文献1では、音声認識結果と中間言語データとの対である学習データに基づいて、識別誤りが最小となるように、中間言語として対話行為と概念の組み合わせを識別する際に、理解率が低いことを問題としている。この問題の解決策として、概念推定用及び発話行為推定用有限状態オートマトンによる推定と、複数の概念及び概念の組み合わせのバイグラムモデルを用いたリランキングとを用いて、音声認識結果を、発話行為、概念又は概念の組み合わせの系列に変換している。
また、特許文献2では、特許文献1と同様の問題に対して、自然発話文に含まれる発話行為に依存する制約と、自然発話文に含まれる意味的な概念の間での組み合わせに依存する制約とを利用して、対話行為と概念の組み合わせを識別する際の理解率を向上させている。
しかしながら、特許文献1及び特許文献2は、長い1話者の発話文から、前処理として発話文の分割を行い、対話行為系列を出力するため、自身の発話以外の前の文脈情報との依存は扱っていない。よって、上位下位関係又は類似性を持つ詳細な対話行為の予測に対しては、適用することが困難である。これにより、対話において自身の発話のみでなく、相手の発話を含めた文脈情報の利用が必要であった。
特許文献3では、発話のクラスタリングに際して、対話中の発話を独立のものと見なしているため、連続した発話からなる対話データに含まれる重要な文脈情報を使っておらず、クラスタリングの精度や対話行為数の推定が十分でないという課題が示されている。この課題に対して、複数の発話の時系列である対話データから、抽出された各発話の特徴量に基づいて、複数の発話を第1クラスタリングし、各発話の特徴量と発話の文脈情報(特に、直前の発話)を用いて、発話を第2クラスタリングし、第1と第2のクラスタリング結果に基づいて、文脈に依存している度合いを推定する。
また、非特許文献1では、特許文献3と同様に、連続した発話からなる対話データに含まれる重要な文脈情報を使っていない点を問題としている。これに対して、連続した発話からなる対話データの発話の特徴量を話者毎に区別し、時系列モデルであるリカレントニューラルネットワークで学習することで、自身と相手の発話を区別して、文脈依存を抽出するモデルが提案されている。
しかしながら、特許文献3と非特許文献1との共通の問題として、学習に用いる文脈情報として、1発話前だけでなく更に過去の文脈情報を用いようとすると、低頻度の文脈情報が学習されないデータスパースネスの問題により、文脈情報が全体的な対話行為の変換性能に寄与しづらいという課題がある。特に、対話コーパスが少ない時には、低頻度の文脈情報が学習されず、全体的な対話行為の変換性能が向上しないという課題がある。
このような課題に対して、本開示の一態様に係る対話行為推定方法は、発話文が分類される対話行為を推定する対話行為推定装置における対話行為推定方法であって、現在の発話文となりうる第1の文章のテキストデータと、前記第1の文章の直前の発話文となりうる第2の文章のテキストデータと、前記第1の文章の話者が前記第2の文章の話者と同一であるか否かを示す第1の話者交代情報と、前記第1の文章の分類を示す対話行為情報とを対応付けた第1の訓練データを取得し、前記第1の訓練データを所定のモデルに適用することにより、前記現在の発話文と前記対話行為情報との対応付けを学習し、前記学習した結果を学習結果情報として記憶する。
これによれば、現在の文章の話者が直前の文章の話者と同一であるか否かを示す話者交代情報を用いて学習が行われる。これにより、発話文と対話行為情報との対応付けの精度を向上できる。
また、大規模なデータ収集は困難であるが、詳細な対話行為推定に必要な2つ以上の文章が連続する訓練データを用いることで、全体的な対話行為の変換性能を向上させることができる。また、収集が容易である連続する2つの発話のみを扱った大規模な訓練コーパスを追加で収集することで、更なる精度向上も可能である。
例えば、前記第1の訓練データは、さらに、前記第1の文章の話者を示す第1の話者識別情報と、前記第2の文章の話者を示す第2の話者識別情報とを含んでもよい。
これによれば、複数の文章の各々の話者を示す話者識別情報を用いて学習が行われる。これにより、発話文と対話行為情報との対応付けの精度を向上できる。
例えば、前記モデルは、前記第1の文章のテキストデータと、前記第2の文章のテキストデータと、前記第1の話者識別情報と、前記第2の話者識別情報と、第1の重みパラメータとに基づき、第1の特徴ベクトルを出力する第1のモデルと、前記第1の文章のテキストデータと、前記第2の文章のテキストデータと、前記第1の話者交代情報と、第2の重みパラメータとに基づき、第2の特徴ベクトルを出力する第2のモデルと、前記第1の特徴ベクトルと、前記第2の特徴ベクトルと、第3の重みパラメータとに基づき、前記第1の文章に対応する対話行為の事後確率を出力する第3のモデルとを含み、前記学習は、前記事後確率と、前記第1の訓練データで示される前記対話行為情報との間で誤差逆伝搬学習を行うことにより実行されてもよい。
例えば、前記第1のモデルは、前記第1の話者識別情報及び前記第2の話者識別情報に依存した前記第1の重みパラメータを持つ第1のRNN−LSTM(Recurrent
Neural Network−Long Short Term Memory)に従って、前記第1の文章と前記第2の文章とから前記第1の特徴ベクトルを求め、前記第2のモデルは、前記第1の話者交代情報に依存した前記第2の重みパラメータを持つ第2のRNN−LSTMに従って、前記第1の文章と前記第2の文章とから前記第2の特徴ベクトルを求めてもよい。
例えば、前記第1の訓練データは、2以上の訓練データを集積したコーパスから取得されてもよい。
例えば、前記対話行為推定方法は、さらに、ユーザにより発話された、現在の発話文である第3の文章のテキストデータと、前記第3の文章の直前の発話文である第4の文章のテキストデータと、前記第3の文章の話者が前記第4の文章の話者と同一であるか否かを示す第2の話者交代情報とを含む対話データを取得し、前記学習結果情報に基づき、前記対話データを前記モデルに適用することにより、前記第3の文章が分類される対話行為を推定してもよい。
これによれば、学習結果を用いて、発話文から対話行為を推定できる。
また、本開示の一態様に係る対話行為推定装置は、発話文が分類される対話行為を推定する対話行為推定装置であって、現在の発話文となりうる第1の文章のテキストデータと、前記第1の文章の直前の発話文となりうる第2の文章のテキストデータと、前記第1の文章の話者が前記第2の文章の話者と同一であるか否かを示す第1の話者交代情報と、前記第1の文章の分類を示す対話行為情報とを対応付けた第1の訓練データを取得する訓練データ取得部と、前記第1の訓練データを所定のモデルに適用することにより、前記現在の発話文と前記対話行為情報との対応付けを学習する学習部と、前記学習した結果を学習結果情報として記憶する記憶部とを備える。
これによれば、現在の文章の話者が直前の文章の話者と同一であるか否かを示す話者交代情報を用いて学習が行われる。これにより、発話文と対話行為情報との対応付けの精度を向上できる。
また、本開示の一態様に係るプログラムは、前記対話行為推定方法をコンピュータに実行させる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、本開示の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
(実施の形態)
まず、本実施の形態に係る対話行為推定装置100の構成を説明する。図1は、本実施の形態に係る対話行為推定装置100の構成を示すブロック図である。
この対話行為推定装置100は、発話文が分類される対話行為を推定する。対話行為推定装置100は、例えば、コンピュータで構成され、記憶部101、処理部102、記憶部103、処理部104及び記憶部105を備える。
記憶部101、103及び105は、例えば、ハードディスクドライブ又はソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。
記憶部101は、訓練コーパス121、及び対話データ123を記憶する。記憶部103は、学習結果情報122を記憶する。記憶部105は、推定結果124を記憶する。
処理部102は、訓練データ取得部111と、学習部112と、対話データ取得部113とを備える。処理部104は、対話行為推定部114を備える。
処理部102及び104は、例えば、CPU、ASIC、又はFPGA等のプロセッサで構成される。なお、処理部102及び104が備える各ブロックは、CPU等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
次に、対話行為推定装置100の動作を説明する。図2は、対話行為推定装置100の動作の概要を示すフローチャートである。
まず、対話行為推定装置100は、訓練コーパス121に含まれる複数の訓練データを用いて、発話文と対話行為との対応関係を学習する学習処理を行う(S101)。
次に、対話行為推定装置100は、上記学習処理の結果を用いて、発話文が分類される対話行為を推定する対話行為推定処理を行う(S102)。
以下、上記学習処理(S101)の詳細を説明する。図3は、学習部112の構成を示すブロック図である。図3に示すように、学習部112は、形態素解析部131、単語特徴抽出部132、文脈依存抽出部133、シーン依存抽出部134、対話行為予測部135及び重み更新部136を備える。
図4は、本実施の形態に係る学習処理(S101)のフローチャートである。
まず、学習部112は、学習対象である全ての重みパラメータを擬似乱数テーブルに基づいて初期化する(S111)。具体的には、学習部112は、後述する図7に示すニューラルネットワークモデル151の全ての重みパラメータを初期化する。
次に、訓練データ取得部111は、訓練コーパス121に含まれる複数の訓練データ141のうち一つを取得する(S112)。図5及び図6は、訓練コーパス121の一例を示す図である。図5は、英語談話の場合の訓練コーパス121の一例を示し、図6は、日本語問診対話の場合の訓練コーパス121の一例を示す。
図5及び図6に示すように、訓練コーパス121は、2以上の訓練データ141が集積されたものである。各訓練データ141は、連続して時系列に発話される複数の発話文に対応し、当該複数の発話文に一対一に対応する複数の訓練情報142を含む。各訓練情報142は、対話ID143と、時刻情報144と、対話行為情報145と、話者識別情報146と、話者交代情報147と、文章148とを含む。
文章148は、発話文となりうる文章のテキストデータである。対話ID143は、当該訓練情報142が含まれる訓練データ141を一意に特定するための識別子である。時刻情報144は、文章148の時刻(発話順)を示す。つまり、時刻情報144により、一つの訓練データ141に含まれる複数の訓練情報142内の文章148が発話された順番が示される。また、対話ID143及び時刻情報144により、一つの訓練データ141内における対話の開始及び終端が管理される。
対話行為情報145は、文章148の分類を示す教師データである。具体的には、図6に示すように、対話行為情報145は、「質問」、「主張−症状主訴」、「応答−否定」、「感謝」といった、文章148が示す意味を大別した分類を示す。言い換えると、対話行為情報145は、文章148の意味又はその概要を示す。
話者識別情報146は、文章148の話者を識別するための情報である。話者交代情報147は、現在の文章148の話者と、直前の文章148の話者とが同一であるか否かを示す。例えば、この話者交代情報147は、現在及び直前の文章の話者識別情報146から算出可能である。例えば、現在の時刻において話者識別情報146により話者が聞き手であり、前の時刻において話者が話し手であることが示される場合には、話者交代情報147は「応答」に設定される。現在の時刻及び前の時刻において、話者識別情報146により話者が共に聞き手であることが示される場合には、話者交代情報147は「連続発話」に設定される。これは各時刻における話し手と聞き手とが逆の場合も同様である。つまり、現在の時刻と直前の時刻とにおける話者が異なる場合には、話者交代情報147は「応答」に設定され、現在の時刻と直前の時刻とにおける話者が同一の場合には、話者交代情報147は「連続発話」に設定される。また、前の時刻の文章が存在しない場合には、つまり、現在の文章が、訓練データ141に含まれる最初の文章である場合には、話者交代情報147は「対話開始」に設定される。
また、文章148で示されるテキストデータは、例えば、日本語の場合は単語の区切りがない文字列データであり、英語の場合は、半角スペースにより単語が区切られた文字列データである。
このように、訓練データ141は、現在の発話文となりうる第1の文章148と、第1の文章148の直前の発話文となりうる第2の文章148と、第1の文章148の話者を示す第1の話者識別情報146と、第2の文章148の話者を示す第2の話者識別情報146と、第1の文章148の話者が第2の文章148の話者と同一であるか否かを示す話者交代情報147と、第1の文章148の分類を示す対話行為情報145とを対応付けるデータである。
また、ここでは、訓練データ取得部111は、現在の時刻(処理対象の時刻)の訓練情報142(対話行為情報145、話者識別情報146、話者交代情報147、及び文章148)と、現在の時刻の直前の連続する時刻であって、予め定められた文脈幅で示される数の1以上の時刻(以下、前時刻群とも呼ぶ)の話者識別情報146及び文章148とを取得する。
また、対話行為推定装置100は、ステップS112の処理を、処理対象とする現在の時刻(訓練情報142)又は訓練データ141を変更しながら、学習が収束するまで繰り返し実行する。このとき、訓練データ取得部111は、対話ID143に基づいて、異なる対話間では非連続となるように抽出を行う。また、訓練データ取得部111は、抽出ごとに現在の時刻をインクリメントすることで異なる学習データを抽出する。また、通常は、文脈幅は固定であるが、対話初期など文脈情報が文脈幅に満たない場合は、通常より短い文脈幅を持つことになる。
例えば、図5に示す例において、文脈幅が5であり、処理対象が時刻5の文章148である場合には、現在時刻5の文章148と、前時刻群である時刻0〜4の文章148と、現在時刻及び前時刻群の時刻0〜5の話者識別情報146「B,A,A,A,A,B」と、現在時刻5の話者交代情報147「応答」とが取得される。また、現在時刻5の対話行為情報145「Uninterpretable」が学習時の真値となる教師データとして取得される。
同様に、例えば、図6に示す例において、文脈幅が5であり、処理対象が時刻5の文章148である場合には、現在時刻5の文章148と、前時刻群である時刻0〜4の文章148と、現在時刻及び前時刻群の時刻0〜5の話者識別情報146「B,A,B,A,B,B」と、現在時刻5の話者交代情報147「連続発話」と、現在時刻5の対話行為情報145「質問」とが取得される。
次に、学習部112は、取得された訓練データ141を所定のモデルに適用することにより、現在の発話文(文章148)に含まれる単語の重要度を含む、現在の発話文(文章148)と対話行為情報145との対応付けを学習する。ここで、モデルとは、例えば、後述するニューラルネットワークモデル151である。
具体的には、形態素解析部131は、訓練データ取得部111で取得された現在時刻及び前時刻群の文章148の各々を、単語に分割することで単語列に変換する(S113)。例えば、日本語においては、形態素解析ソフト(例えば、MeCab)を用いて、この処理を実現することができる。また、英語においては、発話は半角スペースを単語区切りとすることで、この処理を実現することができる。例えば、形態素解析部131は、「頭痛があります。」という文章148を、「頭痛」、「が」、「あります」、「。」に分割する。
次に、単語特徴抽出部132は、形態素解析部131で得られた、現在時刻及び前時刻群の単語列の各々を、単語特徴を表現した文ベクトル表現である特徴ベクトルに変換する(S114)。この方法としては、例えば、入力として想定される全ての単語のリスト(以降、辞書とも呼ぶ)に基づき、文に含まれる単語又は連続単語のみの要素値を1とした特徴ベクトルに変換する(Bag of Words表現)方法を用いることができる。つまり、特徴ベクトルは、リストに含まれる全ての単語又は連続単語の数の要素を含み、各要素は、各単語又は連続単語に対応する。
また、教師あり学習(例えば、対話行為を教師とする学習)により、事前又は後段の学習と同時に、ある対話行為に高頻度で出現する単語を抽出したベクトル表現に変換する方法を用いることもできる。
次に、文脈依存抽出部133は、前時刻群の特徴ベクトルと、現在時刻の特徴ベクトルと、前時刻群及び現在時刻の話者識別情報146と、第1の重みパラメータとに基づき、現在時刻の文章に対する対話行為を予測する際に高頻度で用いられる文脈を示す第1の特徴ベクトルを求める(S115)。例えば、この機能は、図7に示すモデル153(第1のモデル)により実現される。つまり、モデル153は、現在時刻の第1の文章148のテキストデータと、前時刻群の第2の文章148のテキストデータと、現在時刻の第1の話者識別情報146と、前時刻群の第2の話者識別情報146と、第1の重みパラメータとに基づき、第1の特徴ベクトルを出力する。例えば、モデル153は、前時刻群の話者識別情報146(前話者識別情報)及び現在時刻の話者識別情報146(現話者識別情報)に依存した第1の重みパラメータを持つ、時系列ニューラルネットワークモデルであるRNN−LSTM(Recurrent Neural Network−Long Short Term Memory)に従って、現在時刻の第1の文章と前時刻群の第2の文章とから第1の特徴ベクトルを求める。このモデル153により、高頻度で発生する現在の文章と依存している文脈情報が最終的に隠れ層から第1の特徴ベクトルとして出力される。
また、シーン依存抽出部134は、現在時刻の特徴ベクトルと、現在時刻の直前の時刻(以下、直前時刻とも記す)の特徴ベクトルと、現在時刻の話者交代情報147と、第2の重みパラメータとに基づき、現在時刻の文章に対する対話行為を予測する際に高頻度で用いられる、シーン(対話開始、連続発話、及び応答等)ごとの現在時刻及び直前時刻の文章を示す第2の特徴ベクトルを算出する(S116)。例えば、この機能は、図7に示すモデル152(第2のモデル)により実現される。つまり、第2のモデル152は、現在時刻の第1の文章148のテキストデータと、直前時刻の第2の文章148のテキストデータと、現在時刻の第1の話者交代情報147と、第2の重みパラメータとに基づき、第2の特徴ベクトルを出力する。例えば、モデル152は、現在時刻の話者交代情報147に依存した重みパラメータを持つ時系列ニューラルネットワークモデルであるRNN−LSTMに従って、現在時刻の第1の文章と直前時刻の第2の文章とから第2の特徴ベクトルを求める。このモデル152により、シーン別に高頻度で発生する現在時刻及び直前時刻の文章を示す第2の特徴ベクトルが最終的に隠れ層から出力される。
次に、対話行為予測部135は、第1の特徴ベクトル及び第2の特徴ベクトルと、第3の重みパラメータとに基づき、現在時刻の文章に対する対話行為の確率分布を示す事後確率を算出する(S117)。例えば、図7のモデル154に示すように、この機能は、多項ロジスティック回帰により実現される。つまり、第3のモデル154は、第1の特徴ベクトルと、第2の特徴ベクトルと、第3の重みパラメータとに基づき、現在時刻の第1の文章に対応する対話行為の事後確率を出力する。
次に、重み更新部136は、対話行為の事後確率と、現在時刻の対話行為情報145で示される真値となる対話行為に基づいて、モデル152〜154の第1〜第3の重みパラメータを適した数値に更新する(S118)。例えば、重み更新部136は、事後確率と、真値となる対話行為との予測誤差に基づいて、誤差逆伝搬法により重みパラメータを更新する。つまり、重み更新部136は、事後確率と、真値となる対話行為との誤差(差分)が最小となるように第1〜第3の重みパラメータを更新する学習を行う。このように、学習部112は、事後確率と、訓練データ141で示される現在時刻の対話行為情報145との間で誤差逆伝搬学習を行うことにより学習を実行する。
次に、学習部112は、学習処理を終了するか否かを判定する(S119)。例えば、学習部112は、学習を繰り返しても、誤差が減らなくなった場合に学習処理を終了すると判定する。
学習処理を終了しない場合(S119でNo)、再度、ステップS112以降の処理が、次の時刻又は別の訓練データ141に対して行われる。また、学習処理を終了する場合(S119でYes)、上記学習処理の結果を示す学習結果情報122が記憶部103に記憶される(S120)。具体的には、この学習結果情報122は、学習処理終了時の学習パラメータ(第1〜第3の重みパラメータ)を示す。
以下、ニューラルネットワークモデル151を用いた学習処理を詳細に説明する。図7は、本実施の形態に係る文脈依存抽出部133、シーン依存抽出部134及び対話行為予測部135で用いられるニューラルネットワークモデル151の概略を表す図である。このモデル151は、上述したモデル152〜154を含む。
文脈依存抽出部133で用いられるモデル153は、リカレントニューラルネットワーク(RNN−LSTM)と隠れ層とによって構成されている。
リカレントニューラルネットワークは、時系列データの処理に適しており、その中でもLSTM(Long Short Term Memory)は、記憶ユニットと呼ばれるモジュールを持たせることで、長期依存関係を学習可能であることが優れている点である。
シーン依存抽出部134で用いられるモデル154も同様に、リカレントニューラルネットワーク(LSTM)と隠れ層によって構成されている。対話行為予測部135で用いられるモデル154は、ロジスティック回帰によって構成されている。
ニューラルネットワークモデル151は、下記(式1)で表すクロスエントロピー誤差の値を最小化することを目的とする。
P(Y=ytk|xt−T,…xt;θ)は、N個の訓練情報142におけるt番目(現在時刻)の文章148の特徴ベクトルxtと、前時刻群の特徴ベクトルxt−T…に対する、K個の対話行為中のk番目の対話行為ytkの事後確率を示している。ここで、Tは前時刻群として扱う時刻の数を示す固定の文脈幅であり、θはニューラルネットワークの全ての学習パラメータであり、utkはt番目の発話文に対する真値である対話行為である。そのため、(式1)は、全データに対する対話行為の予測誤差を示しており、学習部112は、(式1)の予測誤差を最小化するために、θを誤差逆伝搬法により更新していく。
以降、各事後確率が求まるまでの、ニューラルネットワークの処理の流れを説明する。まず、LSTMにおいて、下記(式2)〜(式5)に示すように、特徴ベクトルxに4つの重み行列Wi,Wc,Wf,Woを掛け、一つ前のLSTMの出力を示すht−1に重み行列Hi,Hc,Hf,Hoを掛け、これらの結果にバイアス項であるbi,bc,bf,boを足し合わせる。この結果を、活性化関数であるsigmoid関数の引数とすることで、0〜1の範囲で要素値を持つ4つのベクトルit,c〜t,ft,otが算出される。it,c〜t,ft,otは、記憶ユニットの制御を行うためのベクトルであり、前から順に記憶入力制御、入力記憶セル、記憶忘却制御、記憶出力制御を担っている。
次に、学習部112は、下記(式6)に示すように、入力制御ベクトルitと入力記憶セルc〜t、忘却制御ベクトルft、及び前記憶ユニット値ct−1を用いて、ニューラルネットワークが持つ記憶セルctの値を更新する。
次に、学習部112は、(式7)で示すように、出力制御ベクトルot及び記憶セルctにより現在のLSTMの出力であるhtを算出する。
ここで、tは、前時刻群及び現在時刻の文章を時系列に並べた際において、その時刻が過去から何番目かを指している。tanh関数を(式8)に示す。
学習部112は、対話行為の予測対象である現在時刻であるt=eに至るまで再帰的に演算を繰り返す。なお、上記の処理は、文脈依存抽出部133とシーン依存抽出部134とで異なる重みパラメータを用いて行われる。
特に、本実施の形態の特徴として、下記(式9)に示すように、図7のモデル153において、(式2)〜(式6)の重み行列Hi,Hc,Hf,Hoに対して、前の話者識別情報に依存した変数Hi at−1,Hc at−1,Hf at−1,Ho at−1が用いられる。つまり、前話者の文章の特徴ベクトルを、前話者の識別番号に応じて異なる重みパラメータによって演算した結果が、次の話者の文章の特徴ベクトルに再帰的に加算される。これにより、対話行為を予測する現在時刻におけるLSTMの出力には、話者が話し手か聞き手かで区別された状態で文脈が反映される。
また、下記(式10)に示すように、図7に示すモデル152において、(式2)〜(式6)の重み行列Hi,Hc,Hf,Hoに対して、話者交代情報147に依存した変数Hi st−1,Hc st−1,Hf st−1,Ho st−1が用いられる。
つまり、前話者の文章の特徴ベクトルを、シーン(対話開始、連続発話、又は応答等)に応じて異なる重みパラメータによって演算した結果が、次の話者の文章の特徴ベクトルに再帰的に加算される。また、シーン依存抽出部134では、文脈依存抽出部133と異なり、現在の文章とその一つ前の文章との2つの連続する文章しか用いず、話者を区別しないため、長期の文脈情報は反映されないが、シーンごとに話者共通で行い易い対話行為が反映される。
次に、図7に示すモデル153における隠れ層で、下記(式11)に示すように、対話行為の予測対象である現在の文章の時刻であるt=eにおけるhl eと、話者識別情報に依存した重み行列Ol aeとを掛け、その結果にバイアス項blを足すことで第1の特徴ベクトルfl−depが得られる。
同様に、図7に示すモデル152における隠れ層で、下記(式12)に示すように、対話行為の予測対象である現在の文章の時刻であるt=eにおけるhr eと重み行列Orとを掛け、その結果にバイアス項brを足すことで第2の特徴ベクトルfr−depが得られる。
最後に、図7に示すモデル154のロジスティック回帰において、下記(式13)に示すように、(式11)と(式12)で求めた第1の特徴ベクトルfl−depと第2の特徴ベクトルfr−depとを結合し、得られた結果に重み行列Oclassを掛け、得られた結果にバイアス項bclassを足す。さらに、得られた各要素を下記(式14)で示すsoftmax関数の引数とすることで、対話行為の確率分布が得られる。そして、確率分布の各要素が事後確率P(Y=ytk|xt−T,…xt;θ)を示している。
なお、(式11)〜(式13)は、ある特徴量を示すベクトルから、確率分布を導出する近似関数をニューラルネットワークにおいて、実現する方法である。
以上により、図7に示すニューラルネットワークモデル151により、対話行為の事後確率が算出される。
次に、上記学習処理により得られた学習結果を用いる対話行為推定処理(図2のS102)の詳細を説明する。図8は、対話行為推定部114の構成を示すブロック図である。
対話行為推定部114は、形態素解析部161、単語特徴抽出部162、文脈依存抽出部163、シーン依存抽出部164、対話行為予測部165及び推定部166を備える。
図9は、本実施の形態における対話行為推定処理(S102)のフローチャートである。
まず、文脈依存抽出部163、シーン依存抽出部164、及び対話行為予測部165は、上述した学習処理(S101)により記憶部103に格納された学習結果情報122(第1〜第3の重みパラメータ)を読み込む(S131)。具体的には、図7に示すニューラルネットワークモデル151の第1〜第3の重みパラメータが更新される。
次に、対話データ取得部113は、記憶部101に記憶されている対話データ123を取得する(S132)。図10及び図11は、対話データ123の一例を示す図である。図10は、英語談話の場合の対話データ123の一例を示し、図10は、日本語問診対話の場合の対話データ123の一例を示す。
図10及び図11に示すように、対話データ123は、時系列に発せられた複数の発話文に対応する複数の対話情報171を含む。各対話情報171は、時刻情報172と、話者識別情報173と、話者交代情報174と、発話文175とを含む。
発話文175は、ユーザにより発話された文章のテキストデータである。なお、時刻情報172、話者識別情報173及び話者交代情報174の意味は、上述した訓練コーパス121に含まれる時刻情報144、話者識別情報146及び話者交代情報147の意味と同様である。
このように、対話データ123は、ユーザにより発話された、現在の発話文175である第3の文章のテキストデータと、第3の文章の直前の発話文175である第4の文章のテキストデータと、第3の文章の話者を示す第3の話者識別情報173と、第4の文章の話者を示す第4の話者識別情報173と、第3の文章の話者が第4の文章の話者と同一であるか否かを示す第2の話者交代情報174とを含む。
ここで、対話データ123は、例えば、外部から入力された、連続する複数の発話文に基づき生成される。まず、対話行為推定装置100は、入力された、連続する複数の発話文を時系列に分割することで複数の発話文175を得る。次に、対話行為推定装置100は、各発話文175に時刻情報172及び話者識別情報173を付与する。また、対話行為推定装置100は、話者識別情報173に基づき、話者交代情報174を算出する。具体的には、対話行為推定装置100は、現在時刻と直前時刻の話者識別情報173に基づき、現在時刻の話者交代情報174を算出し、当該話者交代情報174を現在時刻の発話文175に付加する。
ここで、連続した発話文を時系列に分割する際には、例えば、テキストチャットシステムによる入力の場合、相手に一度に送信したテキスト単位で発話文を分割する。また、音声対話システムによる入力の場合、音声認識のトリガとなる連続する無音区間の発生に基づき、発話文を分割する。また、話者識別情報173は、声紋認証等により生成してもよいし、外部から入力されてもよい。
また、対話データ123として、文脈幅に応じた過去の連続する発話文と、新しく入力された現在の発話文が少なくとも保持される。また、新たな入力に応じて最も過去の発話文が除去される。また、文脈幅として、上記学習処理(S101)時と等しい数値が用いられる。
次に、対話行為推定部114は、学習結果情報122に基づき、対話データ123をモデル151に適用することにより、現在時刻の第3の文章が分類される対話行為を推定する。
具体的には、形態素解析部161は、取得された対話データ123に含まれる現在時刻及び前時刻群の発話文175の各々を、形態素解析により単語に分割することで単語列に変換する(S133)。
次に、単語特徴抽出部162は、形態素解析部161で得られた、現在時刻及び前時刻群の単語列の各々を、単語特徴を表現した文ベクトル表現である特徴ベクトルに変換する(S134)。なお、ステップS133及びS134の詳細は、上述したステップS113及びS114と同様である。
次に、文脈依存抽出部163は、前時刻群の特徴ベクトルと、現在時刻の特徴ベクトルと、前時刻群及び現在時刻の話者識別情報173と、第1の重みパラメータとに基づき、第1の特徴ベクトルを求める(S135)。
また、シーン依存抽出部164は、現在時刻の特徴ベクトルと、直前時刻の特徴ベクトルと、現在時刻の話者交代情報174と、第2の重みパラメータとに基づき、第2の特徴ベクトルを算出する(S136)。
次に、対話行為予測部165は、第1の特徴ベクトル及び第2の特徴ベクトルと、第3の重みパラメータとに基づき、現在時刻の文章に対する対話行為の確率分布を示す事後確率を算出する(S137)。
なお、これらのステップS135〜S137の詳細は、学習結果情報122で示される第1〜第3の重みパラメータが用いられる点を除き、上述したステップS115〜S117と同様である。
次に、推定部166は、ステップS137で得られた対話行為の事後確率に基づき、対話行為を推定し、推定した対話行為を示す推定結果124を記憶部105に記憶する(S138)。例えば、推定部166は、事後確率で示される複数の対話行為の確率値うち確率値が最も高い対話行為を推定結果124として決定する。
また、図9に示す一連の処理が、各時刻の発話文に対して順次行われる。
図12及び図13は、推定結果124の一例を示す図である。図12は、英語談話の場合の推定結果124の一例を示し、図13は、日本語問診対話の場合の推定結果124の一例を示す。図12及び図13に示すように、推定結果124は、時系列に発せられた複数の発話文に対応する複数の推定結果情報181を含む。各推定結果情報181は、時刻情報172と、話者識別情報173と、話者交代情報174と、発話文175と、予測対話行為182とを含む。
予測対話行為182は、推定部166で得られた対話行為の推定結果を示す。なお、時刻情報172、話者識別情報173、話者交代情報174及び発話文175は、対話データ123に含まれる情報と同一である。
図12に示す例において、文脈幅を5とすると、前時刻群の発話文175は、時刻5〜9までの発話文175であり、現在時刻の発話文175は、時刻10の発話文175である。そして、各時刻に対応する話者識別情報173は、「A,A,A,B,B,A」であり、現在時刻の話者交代情報174は「応答」である。この場合、現在時刻の予測対話行為182として「Yes answers」が得られる。これは、シーン依存抽出部164によるシーン別に高頻度で発生する現在と1つ前の発話として、「is that right(ほんと?)」を抽出できたことで、予測確率がより高められた例である。
図13に示す例において、文脈幅を5とすると、前時刻群の発話文175は、時刻1〜5までの発話文175であり、現在時刻の発話文175は、時刻6の発話文175である。そして、各時刻に対応する話者識別情報173は、「A,B,A,B,B,B」であり、現在時刻の話者交代情報174は「連続発話」である。この場合、現在時刻の予測対話行為182として「応答−症状主訴」が得られる。これは、シーン依存抽出部164によるシーン別に高頻度で発生する現在と1つ前の発話として、「気にしすぎかもしれませんが・・・」を抽出することだけでなく、文脈依存抽出部163による高頻度で発生する現在の発話と依存した文脈情報として、「頭痛ですね。他には何かありますか?」が抽出できることにより、予測確率がより高められる例である。
図14は、本実施の形態における英語談話の200対話コーパスによる学習結果を示す図である。42種の対話行為の分類精度(Accuracy)において、本実施の形態に係る手法は、非特許文献1を示す従来手法と比較して、様々な文脈幅において、優れた分類精度を示している。特に、対話コーパスの数が少ない時に、1つ前より過去の発話を文脈情報として学習することに比べ、低頻度とならない2つの連続する発話も加味することで、全体的な対話行為の変換性能が向上することが確認できる。
なお、上記説明では、訓練コーパス121に複数の訓練データ141が含まれる例を示したが、訓練コーパス121は、一つの訓練データ141のみを含んでもよい。
また、上記説明では、対話行為推定装置100において、学習処理と、対話行為推定処理との両方が行われる例を述べたが、これらの処理は異なる装置で行われてもよい。
以上のように、本実施の形態に係る対話行為推定装置100は、現在の文章の話者が直前の文章の話者と同一であるか否かを示す話者交代情報147と、各文章の話者を示す話者識別情報146とを用いて学習を行う。これにより、発話文と対話行為情報との対応付けの精度を向上できる。
以下、上述した対話行為推定装置100の利用形態について説明する。図15は、対話行為推定装置100を含む対話システムのブロック図である。この対話システムは、音声認識の機能を有し、クラウド上に存在するサーバ500と、スマートフォン等の携帯端末400とを含む。ユーザは、携帯端末400を介して、音声によりシステムと自然言語による対話を行うことができる。
携帯端末400及びサーバ500は、例えば、インターネット等の公衆通信ネットワークを介して接続されている。携帯端末400は、スマートフォン又はタブレットなどである。
携帯端末400は、マイク401、信号処理部402、通信部403及び応答実行部404を備える。マイク401は、音声を電気的な音声信号に変換するものであり、ユーザの音声を収音するために用いられる。
信号処理部402は、マイク401から入力される音声信号がノイズであるか否かを判定し、ノイズで無い場合、その音声信号を通信部403に出力する。
通信部403は、入力された音声信号を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号をサーバ500に送信する。
応答実行部404は、信号処理部402が通信部403より受け取った応答文をモニタに表示する。
サーバ500は、対話行為推定装置100、通信部501、音声処理部502、対話管理部503、及び応答生成部504を備える。通信部501は、携帯端末400からの通信信号を受信し、通信信号から音声信号を取り出して、取り出した音声信号を音声処理部502に出力する。
音声処理部502は、取り出された音声信号を解析することで、ユーザが発話した音声を示すテキストデータを生成する。
対話行為推定装置100は、例えば、図1に示す対話行為推定装置100であり、上述した学習処理が既に終了している状態である。対話行為推定装置100は、音声処理部502で生成されたテキストデータを用いて、上述した対話データ123を生成し、該対話データ123を用いて、対話行為を推定し、推定結果を出力する。
対話管理部503は、対話行為推定装置100で推定された対話行為を時系列に保持し、対話行為の系列に基づいて、応答すべきシステム側の対話行為を出力する。
応答生成部504は、対話管理部503から受け取った対話行為に対応する応答文を生成する。通信部501は、生成された応答文を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号を携帯端末400に送信する。
このように、図15の対話システムでは、サーバ500は、上記の学習が行われた後の対話行為推定装置100を用いて、ユーザの発話を適切に理解し、応答することが可能である。
以上、実施の形態に係る対話行為推定装置について説明したが、本開示は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る対話行為推定装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、本開示は、対話行為推定装置により実行される対話行為推定方法として実現されてもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係る対話行為推定装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。