(本開示の基礎となった知見)
また、非特許文献1では、連続した発話からなる対話データに含まれる重要な文脈情報を使っていない点を問題としている。これに対して、連続した発話からなる対話データの発話の特徴量を話者毎に区別し、時系列モデルであるリカレントニューラルネットワークで学習することで、自身と相手の発話を区別して、文脈依存を抽出するモデルが提案されている。
しかしながら、非特許文献1は、単一の意味的概念を出力することを想定しており、他の意味的概念を利用することは行われていない。
そのため、非特許文献1で提案される方法では、学習時の教師データが不足し、十分な推定精度を得られない。
このような課題に対して、本開示の一態様に係る対話行為推定方法は、機械学習される所定のモデルを用いて発話文の対話行為を推定する対話行為推定方法であって、推定対象の第1時刻における第1発話文のテキストデータである第1文章と、前記第1時刻より前の時刻における第2発話文であって前記第1発話文に連続する第2発話文のテキストデータである第2文章と、前記第1文章に対応づけられた行為を示す行為情報と、前記第1文章に対応づけられた属性を示す属性情報と、前記第1文章に対応づけられた行為および属性の組み合わせである対話行為を示す対話行為情報とを含む学習用データを取得する取得ステップと、前記学習用データを用いて、前記モデルに2種以上のタスクを同時に学習させる学習ステップと、前記学習ステップにおいて学習した結果を学習結果情報として記憶する記憶ステップとを含む。そして、前記学習ステップでは、前記タスクの一として、前記学習用データに含まれる前記行為情報を教師データとして用いて、前記第1発話文と前記行為情報との対応付けを学習させ、前記タスクの一として、前記学習用データに含まれる前記属性情報を教師データとして用いて、前記第1発話文と前記属性情報との対応付けを学習させ、前記タスクの一として、前記学習用データに含まれる前記対話行為情報を教師データとして、前記第1発話文と前記対話行為情報との対応付けを学習させる。
本態様によれば、学習処理対象の第1時刻の発話文の対話行為を、当該発話文を示す文章の行為情報と属性情報と、行為情報および属性情報の組み合わせの対話行為情報とを用いてマルチタスク学習を行う。これにより、発話文と対話行為情報との対応付けの精度を向上できる。
例えば、前記学習用データは、さらに、前記第1文章の話者を示す第1話者識別情報と、前記第2文章の話者を示す第2話者識別情報とを含むとしてよい。
本態様によれば、複数の発話文の文章の各々の話者を示す話者識別情報を用いて学習を行うことで、発話文と対話行為情報との対応付けの精度をさらに向上できる。
また、例えば、前記モデルは、前記第1文章と、前記第2文章と、前記第1話者識別情報と、前記第2話者識別情報と、第1重みパラメータとに基づき、前記第1文章に示される行為に関する単語特徴および当該単語特徴の文脈情報を表現する第1特徴ベクトルを出力する第1モデルと、前記第1文章と、前記第2文章と、前記第1話者識別情報と、前記第2話者識別情報と、第2重みパラメータとに基づき、前記第1文章に示される属性に関する単語特徴および当該単語特徴の文脈情報を表現する第2特徴ベクトルを出力する第2モデルと、前記第1特徴ベクトルと、第3重みパラメータとに基づき、前記第1文章に対応する行為の事後確率を出力する第3モデルと、前記第2特徴ベクトルと、第4重みパラメータとに基づき、前記第1文章に対応する属性の事後確率を出力する第4モデルと、前記第1特徴ベクトルと、前記第2特徴ベクトルと、第5重みパラメータとに基づき、前記第1文章に対応する対話行為の事後確率を出力する第5モデルとを含む。そして、前記学習ステップでは、前記第1文章に対応する行為の事後確率、前記第1文章に対応する属性の事後確率、および前記第1文章に対応する対話行為の事後確率と、前記学習用データに含まれる前記対話行為情報、前記行為情報および前記属性情報との間の誤差に基づいて、前記第1重みパラメータ、前記第2重みパラメータ、前記第3重みパラメータ、前記第4重みパラメータおよび前記第5重みパラメータを誤差逆伝搬法で更新することにより、前記学習用データを用いて前記モデルに2種以上のタスクを同時に学習させるとしてよい。
ここで、例えば、前記第1モデルは、前記第1話者識別情報および前記第2話者識別情報に依存した前記第1重みパラメータを持つRNN−LSTM(Recurrent Neural Network−Long Short Term Memory)で構成され、前記第2モデルは、前記第1話者識別情報および前記第2話者識別情報に依存した前記第2重みパラメータを持つ2RNN−LSTMで構成されてもよい。
また、例えば、前記モデルは、前記第1文章と、前記第2文章と、前記第1話者識別情報と、前記第2話者識別情報と、第1重みパラメータとに基づき、前記第1文章に示される行為および属性に関する単語特徴および当該単語特徴の文脈情報を表現する特徴ベクトルを出力する第1モデルと、前記特徴ベクトルと、第3重みパラメータとに基づき、前記第1文章に対応する行為の事後確率を出力する第3モデルと、前記特徴ベクトルと、第4重みパラメータとに基づき、前記第1文章に対応する属性の事後確率を出力する第4モデルと、前記特徴ベクトルと、第5重みパラメータとに基づき、前記第1文章に対応する対話行為の事後確率を出力する第5モデルとを含む。そして、前記学習ステップでは、前記第1文章に対応する行為の事後確率、前記第1文章に対応する属性の事後確率、および前記第1文章に対応する対話行為の事後確率と、前記学習用データに含まれる前記対話行為情報、前記行為情報および前記属性情報との間の誤差に基づいて、前記第1重みパラメータ、前記第3重みパラメータ、前記第4重みパラメータ、および前記第5重みパラメータを誤差逆伝搬法で更新することにより、前記学習用データを用いて2種以上のタスクを同時に学習させてもよい。
ここで、例えば、前記第1モデルは、前記第1話者識別情報および前記第2話者識別情報に依存した前記第1重みパラメータを持つRNN−LSTMで構成されてもよい。
また、例えば、前記取得ステップでは、前記学習用データを、時系列に連続して発話される2以上の発話文と、当該2以上の発話文それぞれに対応づけられた行為情報、属性情報および対話行為とが集積されたコーパスから取得してもよい。
例えば、前記対話行為推定方法は、さらに、ユーザにより発話された第2時刻の第3発話文のテキストデータである第3文章と、前記第2時刻の直前の時刻における第4発話文のテキストデータである第4文章と、前記第3文章の話者を示す第3話者識別情報と、前記第4文章の話者を示す第4話者識別情報とを含む対話データを取得する対話取得ステップと、前記記憶ステップにおいて記憶された前記学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第3発話文の対話行為を推定する推定ステップとを含めてもよい。
これによれば、学習結果を用いて、発話文から対話行為を推定できる。
また、本開示の一態様に係る対話行為推定装置は、機械学習される所定のモデルを用いて発話文の対話行為を推定する対話行為推定装置であって、推定対象の第1時刻における第1発話文のテキストデータである第1文章と、前記第1時刻より前の時刻における第2発話文であって前記第1発話文に連続する第2発話文のテキストデータである第2文章と、前記第1文章に対応づけられた行為を示す行為情報と、前記第1文章に対応づけられた属性を示す属性情報と、前記第1文章に対応づけられた行為および属性の組み合わせである対話行為を示す対話行為情報とを含む学習用データを取得する取得部と、前記学習用データを用いて、前記モデルに2種以上のタスクを同時に学習させる学習部と、前記学習ステップにおいて学習した結果を学習結果情報として記憶する記憶部とを備える。そして、前記学習部は、前記タスクの一として、前記学習用データに含まれる前記行為情報を教師データとして用いて、前記第1発話文と前記行為情報との対応付けを学習させ、前記タスクの一として、前記学習用データに含まれる前記属性情報を教師データとして用いて、前記第1発話文と前記属性情報との対応付けを学習させ、前記タスクの一として、前記学習用データに含まれる前記対話行為情報を教師データとして、前記第1発話文と前記対話行為情報との対応付けを学習させる。
また、本開示の一態様に係るプログラムは、上記態様に記載の対話行為推定方法をコンピュータに実行させる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、本開示の実施の形態について、図面を参照しながら説明する。以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
(実施の形態1)
以下では、図面を参照しながら、実施の形態1における対話行為推定方法等の説明を行う。
[対話行為推定システム]
図1は、実施の形態1に係る対話行為推定システム1の構成例を示すブロック図である。図2は、実施の形態1に係る対話行為推定システムの構成の別例を示すブロック図である。なお、図1と同様の要素には同一の符号を付している。
図1に示す対話行為推定システム1は、記憶装置10と、学習処理装置11と、対話行為推定装置12とを備える。
<記憶装置10>
記憶装置10は、コーパス101および対話データ102を記憶する。コーパス101は、1発話を示すテキストデータである1発話文の単位で対話行為が付与されたデータが集められたものである。対話行為は、ユーザが行う発話の意図の種類を示すものである。本実施の形態では、コーパス101は、複数の学習用データ1011を含む。学習用データ1011は学習処理装置11が学習処理を行う際に用いる学習用データである。
記憶装置10は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。
<学習処理装置11>
学習処理装置11は、記憶装置10に記憶されるコーパス101から1以上の学習用データ1011を取得し、発話文の対話行為を推定するために用いられる所定のモデルに2種以上のタスクを同時に学習させるマルチタスク学習を行う。学習処理装置11は、コンピュータ等で実現される。本実施の形態では、所定のモデルは、機械学習される2つのリカレントニューラルネットワークを含むニューラルネットワークモデルであるとして説明するが、CRF(Conditional Random Fields)などを含む確率モデルであってもよい。
<対話行為推定装置12>
対話行為推定装置12は、記憶装置10から対話データ102を取得し、学習処理装置11によりマルチタスク学習で機械学習が行われた所定のモデルを用いて、対話データ102に含まれる発話文の対話行為を推定する。対話行為推定装置12は、コンピュータ等で実現される。
なお、実施の形態1に係る対話行為推定システム1は、図1に示す構成に限らない。図2の対話行為推定システム1Aに示すように、対話行為推定装置12が、図1に示す学習処理装置11に相当する機能部である学習処理装置部11Aと、図1に示す対話行為推定装置12に相当する機能部である対話行為推定装置部12Aとを含むとしてもよい。つまり、図2に示す対話行為推定装置12のように、学習処理と対話行為推定処理との両方が行われてもよいし、図1に示すように学習処理装置11と対話行為推定装置12の異なる装置で学習処理と対話行為推定処理を行うとしてもよい。また、図2に示す対話行為推定装置12に、さらに記憶装置10が含まれるとしてもよい。
以下、学習処理装置11および対話行為推定装置12の詳細構成について説明する。
[学習処理装置11]
学習処理装置11は、図1等に示すように、取得部111と、学習部112と、記憶部113とを備える。
<記憶部113>
記憶部113は、学習部112において学習された結果を学習結果情報1131として記憶する。記憶部113は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。
<取得部111>
取得部111は、学習処理対象の第1時刻における第1発話文のテキストデータである第1文章と、第1時刻より前の時刻における第2発話文であって第1発話文に連続する第2発話文のテキストデータである第2文章と、第1文章に対応づけられた行為を示す行為情報と、第1文章に対応づけられた属性を示す属性情報と、第1文章に対応づけられた行為および属性の組み合わせである対話行為を示す対話行為情報とを含む学習用データを取得する。ここで、学習用データは、さらに、第1文章の話者を示す第1話者識別情報と、第2文章の話者を示す第2話者識別情報とを含めてもよい。また、取得部111は、学習用データを、時系列に連続して発話される2以上の発話文と、当該2以上の発話文それぞれに対応づけられた行為情報、属性情報および対話行為とが集積されたコーパスから取得する。
本実施の形態では、取得部111は、記憶装置10に記憶されるコーパス101から1以上の学習用データ1011を取得する。なお、取得部111は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータで読み取り可能なプログラムを実行することで実現される。
図3は、実施の形態1に係る学習用データ1011の一例を示す図である。上述したが、図3に示す学習用データ1011はコーパス101に含まれる。換言すると、コーパス101は、学習用データ1011が集積されたものに該当する。
学習用データ1011には、連続して時系列に発話される複数の発話文についてのデータが含まれている。図3に示す学習用データ1011は、英語により旅行案内されたひとまとまり対話を構成する複数の発話文についてのデータを有している。
学習用データ1011は、図3に示すように、対話ID143、時刻情報144、対話行為情報145、行為情報146、属性情報147、および話者識別情報148が付与された文章149を含む。また、学習用データ1011は、対話ID143〜話者識別情報148が付与された文章149を1以上含む訓練データ142を有する。図3には、訓練データ142に、2つの対話ID143〜話者識別情報148が付与された文章149を含む例が示されているがこれに限らない。
文章149は、1発話の文章を示す1発話文のテキストデータである。図3に示すように、文章149は、半角スペースにより英語の単語が区切られた文字列データである。なお、文章149が日本語のテキストデータである場合、文章149は単語の区切りがない文字列データであればよい。
対話ID143は、学習用データ1011を一意に特定するための識別子である。時刻情報144は、文章149の発話順すなわち時刻を示す。つまり、時刻情報144は、学習用データ1011に含まれる複数の文章149が発話された順番を示す。なお、対話ID143および時刻情報144により、一つの学習用データ1011内における対話の開始および終端が管理される。
対話行為情報145と行為情報146と属性情報147は、文章149が示す発話でユーザが行った意図の種類すなわち文章149の分類を示す。具体的には、図3に示すように、行為情報146は、「INI(主導)」、「FOL(追従)」、「RES(応答)」、「QST(質問)」といった、文章149が示す行為の分類を示す。属性情報147は、「RECOMMEND(推薦)」、「INFO(情報提供)」、「ACK(承諾)」といった、文章149が示す属性の分類を示す。対話行為情報145は、文章149が示す対話行為の分類を示す。言い換えると、対話行為情報145は、図3に示す行為情報146と属性情報147との組み合わせ(例えば、FOL_INFO)により、文章149の意味またはその概要を示す。なお、対話行為情報145と行為情報146と属性情報147は、学習時に、文章149に対する教師データとして用いられる。
話者識別情報148は、文章149の話者を識別するための情報である。
ここで、例えば図3を用いて説明すると、取得部111は、学習用データ1011から、学習部112の学習処理対象となる第1時刻における対話ID143〜話者識別情報148が付与された文章149を訓練データ142として取得する。また、取得部111は、学習用データ1011から、当該時刻の直前の連続する時刻であって、予め定められた文脈幅で示される数の1以上の時刻である前時刻群の文章149およびその文章149に付されたもののうち少なくとも話者識別情報148を訓練データ142として取得する。ここで、文脈幅は固定であるが、対話初期など文脈情報が文脈幅に満たない場合は、固定された文脈幅より短い文脈幅としてもよい。
例えば文脈幅が5であり、学習処理対象が時刻5の文章149である場合には、取得部111は、時刻5における対話ID143〜話者識別情報148が付与された文章149を訓練データ142として取得する。また、取得部111は、前時刻群である時刻0〜4における文章149と、前時刻群の時刻0〜4の話者識別情報148「Guide, Tourist, Guide, Tourist, Guide」とを訓練データ142として取得する。なお、取得部111は、時刻5における文章149に付与される対話行為情報145「FOL_ACK, FOL_POSITIVE」と、対話行為情報145「FOL」と、属性情報147「ACK,POSITIVE」とは学習時の真値となる教師データとして取得している。
なお、取得部111は、対話ID143に基づいて、異なる対話間では非連続となるように抽出を行う。また、取得部111は、抽出ごとに第1時刻をインクリメントすることで異なる訓練データ142を取得することができる。
<学習部112>
学習部112は、学習用データを用いて、所定のモデルに2種以上のタスクを同時に学習させる。学習部112は、タスクの一として、学習用データに含まれる行為情報を教師データとして用いて、第1発話文と行為情報との対応付けを学習させる。また、学習部112は、タスクの一として、学習用データに含まれる属性情報を教師データとして用いて、第1発話文と属性情報との対応付けを学習させる。また、学習部112は、タスクの一として、学習用データに含まれる対話行為情報を教師データとして、第1発話文と対話行為情報との対応付けを学習させる。なお、所定のモデルは、第1重みパラメータを有する第1モデル、第2重みパラメータを有する第2モデル、第3重みパラメータを有する第3モデル、第4重みパラメータを有する第4モデルおよび第5重みパラメータを有する第5モデルを含む。
本実施の形態では、学習部112は、取得部111で取得された学習用データ1011を用いて2つのリカレントニューラルネットワークを含む所定のモデルにマルチタスク学習で機械学習させる。より具体的には、学習部112は、図3の文章149で示されるような発話文に含まれる単語の重要度などを示す言語特徴と文脈情報とを用いて、所定のモデルに、学習処理対象の文章149および行為情報146の対応付けと、当該文章149および属性情報147の対応付けとを学習し、当該文章149と対話行為情報145との対応付けを同時に学習させる。なお、学習部112は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
図4は、実施の形態1に係る学習部112の詳細構成の一例を示すブロック図である。図5は、実施の形態1に係るニューラルネットワークモデル150の概略を示す図である。なお、ニューラルネットワークモデル150は、上記の所定のモデルに該当する。
学習部112は、図4に示すように、形態素解析部1121と、行為用単語特徴抽出部1122と、属性用単語特徴抽出部1123と、行為用文脈依存抽出部1124と、属性用文脈依存抽出部1125と、行為予測部1126と、属性予測部1127と、対話行為予測部1128と、重み更新部1129とを備える。
≪形態素解析部1121≫
形態素解析部1121は、取得部111で取得された発話文において自然言語で意味を持つ最小単位である形態素を解析して、形態素を単語とする単語列に変換する。本実施の形態では、形態素解析部1121は、取得部111で取得された第1時刻および前時刻群の文章149の各々を、単語に分割することで単語列に変換する。形態素解析部1121は、日本語の発話文には、例えばMeCabなどの形態素解析ソフトを用いて、この処理を実現することができる。形態素解析部1121は、例えば「頭痛があります。」という発話文を、「頭痛」、「が」、「あります」、「。」に分割する。また、形態素解析部1121は、英語の発話文には、半角スペースを単語区切りとすることで、この処理を実現することができる。
≪行為用単語特徴抽出部1122≫
行為用単語特徴抽出部1122は、形態素解析部1121で変換された単語列に基づいて、行為情報を予測するための単語特徴を抽出し、抽出した単語特徴を表現した文ベクトル表現である行為用特徴ベクトルを生成する。本実施の形態では、行為用単語特徴抽出部1122は、形態素解析部1121で得られた、第1時刻および前時刻群の単語列の各々を、行為情報を予測するための単語特徴を表現した行為用特徴ベクトルに変換する。
行為用特徴ベクトルへの変換方法としては、文章に単語が含まれているかどうかのみを考え、単語の並び方などは考慮しないBag−of−wordsモデルを利用する方法がある。Bag−of−wordsモデルを利用すると、例えば文章に単語が含まれていれば1、なければ0と表現することができる。本実施の形態では、行為用単語特徴抽出部1122は、Bag−of−wordsモデルを利用して、例えば、入力として想定される全ての単語のリストすなわち辞書に基づき、文に含まれる単語または連続単語のみの要素値を1とした行為用特徴ベクトルに変換する。したがって、行為用特徴ベクトルは、辞書に含まれる全ての単語または連続単語の数の要素を含み、各要素は、各単語または連続単語の有無に対応する。
なお、変換方法としては、これに限らない。事前に行為を教師とする教師あり学習を行い、ある行為に高頻度で出現する単語を抽出したベクトル表現に変換する方法を用いてもよい。
≪属性用単語特徴抽出部1123≫
属性用単語特徴抽出部1123は、形態素解析部1121で変換された単語列に基づいて、属性情報を予測するための単語特徴を抽出し、抽出した単語特徴を表現した文ベクトル表現である属性用特徴ベクトルを生成する。本実施の形態では、属性用単語特徴抽出部1123は、形態素解析部1121で得られた、第1時刻および前時刻群の単語列の各々を、属性情報を予測するための単語特徴を表現した属性用特徴ベクトルに変換する。変換方法としては、上述同様にBag−of−wordsモデルを利用する方法または属性を教師とする教師あり学習を行い、ある属性に高頻度で出現する単語を抽出したベクトル表現に変換する方法がある。
≪行為用文脈依存抽出部1124≫
行為用文脈依存抽出部1124は、第1モデルを用いて、行為用単語特徴抽出部1122が生成した行為用特徴ベクトルなどから、複数の発話文で行為を予測するのに用いられる単語特徴と当該単語特徴の周囲に高頻度に出現する単語などの文脈とを示す第1特徴ベクトルを生成する。
本実施の形態では、行為用文脈依存抽出部1124は、所定のモデルに含まれる第1モデルを用いて、前時刻群の行為用特徴ベクトルと、第1時刻の行為用特徴ベクトルと、前時刻群の話者識別情報148と、第1重みパラメータとに基づき、第1時刻の文章149に対する行為を予測する際に高頻度で用いられる文脈を示す第1特徴ベクトルを算出する。
ここで、行為用文脈依存抽出部1124は、図5に示すニューラルネットワークモデル150に含まれる第1重みパラメータを有するモデル1524により実現される。つまり、モデル1524は、所定のモデルに含まれる第1モデルに該当し、第1文章と、第2文章と、第1話者識別情報と、第2話者識別情報と、第1重みパラメータとに基づき、第1文章に示される行為に関する単語特徴および当該単語特徴の文脈情報を表現する第1特徴ベクトルを出力する。モデル1524は、第1話者識別情報および第2話者識別情報に依存した第1重みパラメータを持つRNN−LSTM(Recurrent Neural Network−Long Short Term Memory)で構成される。例えば、モデル1524は、前時刻群の話者識別情報148(図5で前話者識別情報)に依存した第1重みパラメータを持つ、時系列ニューラルネットワークモデルであるRNN−LSTMに従って、第1時刻の文章149と前時刻群の文章149とから第1特徴ベクトルを算出する。このモデル1524により、行為を予測する際に高頻度で発生する第1時刻の文章149と依存している文脈情報が第1特徴ベクトルとして出力される。
≪属性用文脈依存抽出部1125≫
属性用文脈依存抽出部1125は、第2モデルを用いて、属性用単語特徴抽出部1123が生成した属性用特徴ベクトルなどから、複数の発話文で属性を予測するのに用いられる単語特徴と当該単語特徴の周囲に高頻度に出現する単語などの文脈とを示す第2特徴ベクトルを生成する。
本実施の形態では、属性用文脈依存抽出部1125は、所定のモデルに含まれる第2モデルを用いて、前時刻群の属性用特徴ベクトルと、第1時刻の属性用特徴ベクトルと、前時刻群の話者識別情報148と、第2重みパラメータとに基づき、第1時刻の文章149に対する属性を予測する際に高頻度で用いられる文脈を示す第2特徴ベクトルを算出する。
ここで、属性用文脈依存抽出部1125は、図5に示すニューラルネットワークモデル150に含まれる第2重みパラメータを有するモデル1525により実現される。つまり、モデル1525は、所定のモデルに含まれる第2モデルに該当し、第1文章と、第2文章と、第1話者識別情報と、第2話者識別情報と、第2重みパラメータとに基づき、第1文章に示される属性に関する単語特徴および当該単語特徴の文脈情報を表現する第2特徴ベクトルを出力する。モデル1525は、第1話者識別情報および第2話者識別情報に依存した第2重みパラメータを持つ2RNN−LSTMで構成される。例えば、モデル1525は、前時刻群の話者識別情報148に依存した第2重みパラメータを持つ、時系列ニューラルネットワークモデルであるRNN−LSTMに従って、第1時刻の文章149と前時刻群の文章149とから第2特徴ベクトルを算出する。このモデル1525により、属性を予測する際に高頻度で発生する第1時刻の文章149と依存している文脈情報が第2特徴ベクトルとして出力される。
≪行為予測部1126≫
行為予測部1126は、第3モデルを用いて、行為用文脈依存抽出部1124で算出された第1特徴ベクトルと、第3重みパラメータとに基づき、学習処理対象の発話文に対する行為を予測する。
本実施の形態では、行為予測部1126は、所定のモデルに含まれる第3モデルを用いて、行為用文脈依存抽出部1124で算出された第1特徴ベクトルと、第3重みパラメータとに基づき、第1時刻の文章149に対する行為の確率分布を示す事後確率を算出する。
ここで、行為予測部1126は、図5に示すニューラルネットワークモデル150に含まれる第3重みパラメータを有するモデル1526により実現される。つまり、モデル1526は、所定のモデルに含まれる第3モデルに該当し、第1特徴ベクトルと、第3重みパラメータとに基づき、第1文章に対応する行為の事後確率を出力する。モデル1526は、図5に示すように、多項ロジスティック回帰により当該事後確率の算出を実現する。このように、モデル1526は、第1特徴ベクトルと、第3重みパラメータとに基づき、第1時刻の文章149に対応する行為の事後確率を算出して出力する。
≪属性予測部1127≫
属性予測部1127は、第4モデルを用いて、属性用文脈依存抽出部1125で算出された第2特徴ベクトルと、第4重みパラメータとに基づき、学習処理対象の発話文に対する属性を予測する。
本実施の形態では、属性予測部1127は、所定のモデルに含まれる第4モデルを用いて、属性用文脈依存抽出部1125で算出された第2特徴ベクトルと、第4重みパラメータとに基づき、第1時刻の文章149に対する行為の確率分布を示す事後確率を算出する。
ここで、属性予測部1127は、図5に示すニューラルネットワークモデル150に含まれる第4重みパラメータを有するモデル1527により実現される。つまり、モデル1527は、所定のモデルに含まれる第4モデルに該当し、第2特徴ベクトルと、第4重みパラメータとに基づき、第1文章に対応する属性の事後確率を出力する。モデル1527は、多項ロジスティック回帰により当該事後確率の算出を実現する。このように、モデル1527は、第2特徴ベクトルと、第4重みパラメータとに基づき、第1時刻の文章149に対応する属性の事後確率を算出して出力する。
≪対話行為予測部1128≫
対話行為予測部1128は、第5モデルを用いて、行為用文脈依存抽出部1124で算出された第1特徴ベクトルと、属性用文脈依存抽出部1125で算出された第2特徴ベクトルと、第5重みパラメータとに基づき、学習処理対象の発話文に対する対話行為を予測する。
本実施の形態では、対話行為予測部1128は、所定のモデルに含まれる第4モデルを用いて、行為用文脈依存抽出部1124で算出された第1特徴ベクトルと、属性用文脈依存抽出部1125で算出された第2特徴ベクトルと、第5重みパラメータとに基づき、第1時刻の文章149に対する対話行為の確率分布を示す事後確率を算出する。
ここで、対話行為予測部1128は、図5に示すニューラルネットワークモデル150に含まれる第5重みパラメータを有するモデル1528により実現される。つまり、モデル1528は、所定のモデルに含まれる第5モデルに該当し、第1特徴ベクトルと、第2特徴ベクトルと、第5重みパラメータとに基づき、第1文章に対応する対話行為の事後確率を出力する。モデル1528は、多項ロジスティック回帰により当該事後確率の算出を実現する。このように、モデル1528は、第1特徴ベクトルと、第2特徴ベクトルと、第5重みパラメータとに基づき、第1時刻の文章149に対応する対話行為の事後確率を算出して出力する。
≪重み更新部1129≫
重み更新部1129は、第1文章に対応する行為の事後確率、第1文章に対応する属性の事後確率、および第1文章に対応する対話行為の事後確率と、学習用データに含まれる対話行為情報、行為情報および属性情報との間の誤差に基づいて、第1重みパラメータ、第2重みパラメータ、第3重みパラメータ、第4重みパラメータおよび第5重みパラメータを誤差逆伝搬法で更新することにより、学習用データを用いて所定のモデルに2種以上のタスクを同時に学習させる。
本実施の形態では、重み更新部1129は、行為予測部1126で算出された行為の事後確率と属性予測部1127で算出された属性の事後確率と、対話行為予測部1128で算出された対話行為の事後確率とが、教師データすなわち真値となる対話行為と行為と属性とを示すように、モデル1524〜モデル1528の第1重みパラメータ〜第5重みパラメータを適した数値に更新する。
具体的には、重み更新部1129は、対話行為の事後確率および真値となる対話行為の予測誤差、行為の事後確率および真値となる行為の予測誤差、並びに属性の事後確率および真値となる属性の予測誤差に基づいて、誤差逆伝搬法により上記の重みパラメータを更新する。つまり、重み更新部1129は、対話行為、行為および属性の事後確率と、真値となる対話行為、行為およ属性との誤差(差分)が最小となるように第1重みパラメータ〜第5重みパラメータすなわち学習パラメータを更新する。
このようにして、学習部112は、対話行為、行為および属性の事後確率と、学習用データ1011に含まれる対話行為、行為および属性の教師データ5との間で誤差逆伝搬学習を行うことにより所定のモデルに2種以上のタスクを同時に学習させるマルチタスク学習を実行する。
<ニューラルネットワーク>
ここで、図5に示すニューラルネットワークモデル150を用いた学習部112の学習方法について説明する。図5に示すニューラルネットワークモデル150は、モデル1524〜モデル1528を含み、上述したように、行為用文脈依存抽出部1124、属性用文脈依存抽出部1125、行為予測部1126、属性予測部1127および対話行為予測部1128で用いられる。
モデル1524は、上記の第1モデルに該当し、行為用文脈依存抽出部1124で用いられる。また、モデル1525は、上記の第2モデルに該当し、属性用文脈依存抽出部1125で用いられる。モデル1524およびモデル1525はそれぞれ、リカレントニューラルネットワーク(LSTM)によって構成されている。リカレントニューラルネットワークは、時系列データの処理に適している。その中でもLSTM(Long Short Term Memory)は、記憶ユニットと呼ばれるモジュールを持たせることで、長期依存関係を学習可能である点が優れている。
モデル1526は、上記の第3モデルに該当し、行為予測部1126で用いられる。モデル1527は、上記の第4モデルに該当し、属性予測部1127で用いられる。モデル1528は、上記の第5モデルに該当し、対話行為予測部1128で用いられる。モデル1526、モデル1527およびモデル1528はそれぞれ、ロジスティック回帰と隠れ層とによって構成されている。
ニューラルネットワークモデル150は、下記(式1)で表す誤差の値を最小化することを目的とする。
ここで、Lmain(θmain)は対話行為の予測誤差を示し、Lsub1(θsub1)は行為の予測誤差を示し、Lsub2(θsub2)は属性の予測誤差を示す。θsub1はモデル1524の第1重みパラメータとモデル1526の第3重みパラメータを指し、θsub2はモデル1525の第2重みパラメータとモデル1527の第4重みパラメータを指す。θmainはニューラルネットワークモデル150の全ての学習パラメータを指す。
各予測誤差は、下記(式2)で表すクロスエントロピー誤差が用いられる。
ここで、ptkは、N個の訓練データ142におけるt番目(第1時刻)の文章149に対する、Ki個の予測対象中のk番目のラベルの事後確率を示している。また、ytkはt番目の文章149に対する、Ki個の予測対象中のk番目のラベルの真値である。iは、{main,sub1,sub2}の要素を指す。つまり、ラベルは、対話行為を構成する行為および属性と、その組み合わせである対話行為を指す。そのため、(式1)は、全データに対する対話行為と、行為および属性の予測誤差の総和を示しており、学習部112は、(式1)の予測誤差を最小化するために、θmainを誤差逆伝搬法により更新していく。
以降、各事後確率が求まるまでの、ニューラルネットワークの処理の流れを説明する。まず、LSTMにおいて、下記(式3)〜(式6)に示すように、特徴ベクトル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は、下記(式7)に示すように、入力制御ベクトルitと入力記憶セルc〜 t、忘却制御ベクトルft、および前記憶ユニット値ct−1を用いて、ニューラルネットワークが持つ記憶セルctの値を更新する。
次に、学習部112は、(式8)で示すように、出力制御ベクトルotおよび記憶セルctにより第1時刻のLSTMの出力であるhtを算出する。
ここで、tは、前時刻群および第1時刻の文章149を時系列に並べた際において、その時刻が過去から何番目かを指している。tanh関数を(式9)に示す。
学習部112は、対話行為の予測対象の第1時刻であるt=eに至るまで再帰的に演算を繰り返す。なお、上記の処理は、行為用文脈依存抽出部1124が第1重みパラメータを用い、属性用文脈依存抽出部1125が第2重みパラメータを用いて、異なる重みパラメータで行われる。
特に、本実施の形態の特徴として、下記(式10)に示すように、図5のモデル1524およびモデル1525において、(式3)〜(式7)の重み行列Hi,Hc,Hf,Hoに対して、前話者識別情報に依存した変数Hi at−1,Hc at−1,Hf at−1,Ho at−1が用いられる。つまり、前話者の文章149の特徴ベクトルを、前話者の識別番号に応じて異なる重みパラメータによって演算した結果が、次の話者の文章149の特徴ベクトルに再帰的に加算される。これにより、対話行為を予測する第1時刻におけるLSTMの出力には、話者が区別された状態で文脈が反映される。
次に、図5に示すモデル1526、1527、1528における処理を、下記(式11)に示す。
ある入力ベクトルxに対して、隠れ層において、重み行列W(1)を掛け、その結果にバイアス項b(l)を足す。そして、ロジスティック回帰により、重み行列W(2)を掛け、その結果にバイアス項b(2)を足すことで、複数の確率値のベクトルが得られる。
なお、(式11)は、ある特徴量を示すベクトルから、確率分布を導出する近似関数をニューラルネットワークにおいて、実現する方法である。
次に、図5に示すモデル1526において、対話行為の予測対象の第1時刻であるt=eにおける、行為用文脈依存抽出部1124の出力であるhe sub1を入力として、下記(式12)に示すように、第3重みパラメータを用いて、行為の複数の確率値のベクトルが得られる。そして、各要素が行為の事後確率を示している。
同様に、図5に示すモデル1527において、対話行為の予測対象の第1時刻であるt=eにおける、属性用文脈依存抽出部1125の出力であるhe sub2を入力として、下記(式13)に示すように、第4重みパラメータを用いて、属性の複数の確率値のベクトルが得られる。そして、各要素が属性の事後確率を示している。
次に、図5に示すモデル1528において、下記(式14)に示すように、行為用文脈依存抽出部1124で求めた特徴ベクトルhe sub1と、属性用文脈依存抽出部1125で求めた特徴ベクトルhe sub2とを結合し、he mainを算出する。
最後に、図5に示すモデル1528において、対話行為の予測対象の第1時刻であるt=eにおける、he mainを入力として、下記(式15)に示すように、第5重みパラメータを用いて、対話行為の複数の確率値のベクトルが得られる。そして、各要素が属性の事後確率を示している。
上記の処理は、行為予測部1126と属性予測部1127と対話行為予測部1128で異なる重みパラメータを用いて行われる。
以上のようにして、図5に示すニューラルネットワークモデル150により、対話行為の事後確率が算出される。
[対話行為推定装置12]
次に、対話行為推定装置12の詳細構成について説明する。
対話行為推定装置12は、図1等に示すように、対話取得部121と、推定部122と、記憶部123とを備える。
<記憶部123>
記憶部123は、推定部122において推定された結果を推定結果1231として記憶する。記憶部123は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。
<対話取得部121>
対話取得部121は、ユーザにより発話された第2時刻の第3発話文のテキストデータである第3文章と、第2時刻の直前の時刻における第4発話文のテキストデータである第4文章と、第3文章の話者を示す第3話者識別情報と、第4文章の話者を示す第4話者識別情報とを含む対話データを取得する。
本実施の形態では、対話取得部121は、対話データ102を取得する。より具体的には、対話取得部121は、推定処理対象となる時刻における発話文と、当該時刻の直前の連続する時刻であって、予め定められた文脈幅で示される数の1以上の時刻である前時刻群の発話文を対話データとして取得する。なお、対話取得部121は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
図6は、実施の形態1に係る対話データ102の一例を示す図である。
対話データ102には、時系列に発せられた複数の発話文についてのデータが含まれている。図6に示す対話データ102は、英語により旅行案内されたひとまとまり対話を構成する複数の発話文についてのデータを有している。
対話データ102は、時刻情報172および話者識別情報173が付与された発話文174を含む。また、対話データ102は、時刻情報172および話者識別情報173が付与された発話文174を1以上含む複数の対話情報175を有する。図6には、対話情報175に2つの発話文174を含む例が示されているがこれに限らない。
発話文174は、ユーザにより発話された1発話の文章を示す1発話文のテキストデータである。図6に示す発話文174は、半角スペースにより英語の単語が区切られた文字列データである。なお、発話文174が日本語のテキストデータである場合、発話文174は単語の区切りがない文字列データであればよい。時刻情報172は、発話文174の発話順すなわち時刻を示す。つまり、時刻情報172は、対話データ102に含まれる複数の発話文174が発話された順番を示す。話者識別情報173は、発話文174の話者を識別するための情報である。
図6では、第2時刻を時刻4、前時刻群を時刻0〜3とした文脈幅が4の対話データ102を有する例が示されている。時刻0〜4の各時刻に対応する話者識別情報173は、「Guide,Tourist,Tourist,Tourist,Guide」である。
対話データ102は、例えば、外部から入力された、連続する複数の発話文に基づき生成される。すなわち、まず、連続する複数の発話文を時系列に分割し複数の発話文174を生成する。例えば、テキストチャットシステムにより連続した発話文が入力された場合、相手に一度に送信したテキスト単位で発話文を分割して複数の発話文174を生成すればよい。また、音声対話システムより連続した発話文が入力された場合、音声認識のトリガとなる連続する無音区間の発生に基づき、発話文を分割して複数の発話文174を生成すればよい。次に、生成した各発話文174に時刻情報172および話者識別情報173を付与する。話者識別情報173は、声紋認証等により生成してもよいし、外部から入力されてもよい。
なお、対話データ102は、対話行為推定装置12の外部にある記憶装置10に保存されている場合に限らず、対話行為推定装置12が外部から入力されたユーザの発話文に基づき生成してもよい。つまり、対話データ102は、対話行為推定装置12が生成してもよいし、他装置が生成してもよい。
また、対話データ102は、文脈幅に応じた過去の連続する発話文と、新しく入力された現在の発話文が少なくとも保持され、新たな入力に応じて最も過去の発話文が除去される。また、文脈幅は固定であるが、上述した取得部111が取得する訓練データ142の文脈幅と等しい数値を用いるとよい。
<推定部122>
推定部122は、学習処理装置11において記憶された学習結果情報1131を反映した所定のモデルに、対話データを適用することにより、第3発話文の対話行為を推定する。
本実施の形態では、推定部122は、記憶部113に記憶されている学習結果情報1131を反映させた所定のモデルを用いて、推定対象の発話文の対話行為を推定する。この所定のモデルは、学習部112で用いられたニューラルネットワークモデル150と同一構造のものである。なお、推定部122は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
図7は、実施の形態1に係る推定部122の詳細構成の一例を示すブロック図である。図1等と同様の要素には同一の符号を付している。
推定部122は、図7に示すように、形態素解析部1221と、行為用単語特徴抽出部1222と、属性用単語特徴抽出部1223と、行為用文脈依存抽出部1224と、属性用文脈依存抽出部1225と、対話行為予測部1226と、対話行為推定部1227とを備える。
≪形態素解析部1221≫
形態素解析部1221は、対話取得部121で取得された対話データ102に含まれる発話文の形態素を解析して、形態素を単語とする単語列に変換する。本実施の形態では、形態素解析部1221は、対話取得部121で取得された図6に示す対話データ102に含まれる推定処理対象となる時刻(第2時刻)および前時刻群の発話文174の各々を、形態素解析により単語に分割することで単語列に変換する。
なお、形態素解析の方法は上述した通りである。
≪行為用単語特徴抽出部1222≫
行為用単語特徴抽出部1222は、形態素解析部1221で変換された単語列に基づいて、行為情報を予測するための単語特徴を抽出し、抽出した単語特徴を表現した行為用特徴ベクトルを生成する。本実施の形態では、行為用単語特徴抽出部1222は、形態素解析部1221で得られた、第2時刻および前時刻群の単語列の各々を、行為情報を予測するための単語特徴を表現した文ベクトル表現である行為用特徴ベクトルに変換する。
なお、行為用特徴ベクトルへの変換方法は上述した通りである。
≪属性用単語特徴抽出部1223≫
属性用単語特徴抽出部1223は、形態素解析部1221で変換された単語列に基づいて、属性情報を予測するための単語特徴を抽出し、抽出した単語特徴を表現した属性用特徴ベクトルを生成する。本実施の形態では、属性用単語特徴抽出部1223は、形態素解析部1221で得られた、第2時刻および前時刻群の単語列の各々を、属性情報を予測するための単語特徴を表現した属性用特徴ベクトルに変換する。
なお、属性用特徴ベクトルへの変換方法は上述した通りである。
≪行為用文脈依存抽出部1224≫
行為用文脈依存抽出部1224は、学習済みの第1モデルを用いて、行為用単語特徴抽出部1222が生成した行為用特徴ベクトルなどから、複数の発話文で行為を予測するのに用いられる単語特徴と当該単語特徴の周囲に高頻度に出現する単語などの文脈とを示す第1特徴ベクトルを生成する。本実施の形態では、行為用文脈依存抽出部1224は、前時刻群の行為用特徴ベクトルと、第2時刻の行為用特徴ベクトルと、前時刻群の話者識別情報173と、学習済みの第1重みパラメータとに基づき、第3特徴ベクトルを算出する。
ここで、行為用文脈依存抽出部1224は、図5に示すニューラルネットワークモデル150に含まれる学習済みの第1重みパラメータを有するモデル1524により実現される。つまり、学習済みのモデル1524は、所定のモデルに含まれる第1モデルに該当し、学習結果情報1131が反映された第1重みパラメータを有する。行為用文脈依存抽出部1224は、学習済みのモデル1524を用いて、行為を予測する際に高頻度で発生する第2時刻の発話文174と依存している文脈情報が第1特徴ベクトルとして出力される。
なお、モデル1524を用いて第1特徴ベクトルを出力する方法は、学習済みの第1重みパラメータを用いる点を除き、上述した通りである。
≪属性用文脈依存抽出部1225≫
属性用文脈依存抽出部1225は、学習済みの第2モデルを用いて、属性用単語特徴抽出部1223が生成した属性用特徴ベクトルなどから、複数の発話文で属性を予測するのに用いられる単語特徴と当該単語特徴の周囲に高頻度に出現する単語などの文脈とを示す第2特徴ベクトルを生成する。本実施の形態では、属性用文脈依存抽出部1225は、前時刻群の属性用特徴ベクトルと、第2時刻の属性用特徴ベクトルと、前時刻群の話者識別情報173と、学習済みの第2重みパラメータとに基づき、第4特徴ベクトルを算出する。
ここで、属性用文脈依存抽出部1225は、図5に示すニューラルネットワークモデル150に含まれる学習済みの第2重みパラメータを有するモデル1525により実現される。つまり、学習済みのモデル1525は、所定のモデルに含まれる第2モデルに該当し、学習結果情報1131が反映された第2重みパラメータを有する。属性用文脈依存抽出部1225は、学習済みのモデル1525を用いて、属性を予測する際に高頻度で発生する第2時刻の発話文174と依存している文脈情報が第4特徴ベクトルとして出力される。
なお、モデル1525を用いて第2特徴ベクトルを出力する方法は、学習済みの第2重みパラメータを用いる点を除き、上述した通りである。
≪対話行為予測部1226≫
対話行為予測部1226は、学習済みの第5モデルを用いて、行為用文脈依存抽出部1224で算出された第1特徴ベクトルと、属性用文脈依存抽出部1225で算出された第2特徴ベクトルと、学習済みの第5重みパラメータとに基づき、推定処理対象の発話文に対する行為を予測する。本実施の形態では、対話行為予測部1226は、行為用文脈依存抽出部1224で算出された第3特徴ベクトルと、属性用文脈依存抽出部1225で算出された第4特徴ベクトルと、学習済みの第5重みパラメータとに基づき、第2時刻の発話文174に対する対話行為の確率分布を示す事後確率を算出する。
ここで、対話行為予測部1226は、図5に示すニューラルネットワークモデル150に含まれる学習済みの第5重みパラメータを有するモデル1528により実現される。つまり、学習済みのモデル1528は、所定のモデルに含まれる第5モデルに該当し、学習結果情報1131が反映された第5重みパラメータを有する。
なお、モデル1528を用いて対話行為の確率分布を示す事後確率を算出する方法は、学習済みの第5重みパラメータを用いる点を除き、上述した通りである。
≪対話行為推定部1227≫
対話行為推定部1227は、対話行為予測部1226により算出された対話行為の事後確率に基づき、対話行為を推定する。対話行為推定部1227は、推定した対話行為を示す推定結果1231として記憶部123に記憶する。例えば、対話行為推定部1227は、事後確率で示される複数の対話行為の確率値に対して、例えば0.5の閾値を適用することで、確率値が高い複数の対話行為を推定結果1231として指定できる。
図8は、実施の形態1に係る対話行為推定装置12の推定結果1231の一例を示す図である。図6と同様の要素には同一の符号を付している。図8は、図6に示す対話データ102に対する推定結果1231の一例である。
推定結果1231は、図8に示すように、図6に示す対話データ102と比較して、時系列に発せられた複数の発話文174に対する推定対話行為176を含む。推定対話行為176は、対話行為推定部1227で得られた発話文174に対する対話行為の推定結果である。
図8では、第2時刻を時刻4、前時刻群を時刻0〜3とした文脈幅が4の対話データ102が取得され、第2時刻の推定対話行為176として「RES_INFO(応答_情報提供)」が得られた例が示されている。これは、行為用文脈依存抽出部1224と属性用文脈依存抽出部1225とにより、行為ごとに高頻度で発生する“you can take”と、属性ごとに高頻度で発生する”Staion”を抽出できたことで、予測確率がより高められた例である。さらに、対話行為予測部1226が第1特徴ベクトルと第2特徴ベクトルの組み合わせを学習したことで、例えば、“FOL_INFO(追従_情報提供)”のように、部分的に正解である予測を避けることができている。
[対話行為推定システム1の動作]
次に、以上のように構成された対話行為推定システム1の動作について説明する。
図9は、実施の形態1に係る対話行為推定システム1の動作の概要を示すフローチャートである。
まず、対話行為推定システム1は、コーパス101に含まれる学習用データ1011を用いて、発話文と対話行為との対応関係を学習する学習処理を行う(S1)。より具体的には、S1において、学習処理装置11は、まず、記憶装置10に記憶されるコーパス101から学習用データ1011を取得する(S11)。次いで、学習処理装置11は、S11で取得した学習用データ1011を用いて発話文の対話行為を推定するために用いられる所定のモデルにマルチタスク学習を行う(S12)。そして、学習処理装置11は、S11で学習した結果を学習結果情報1131として記憶する(S13)。
次に、対話行為推定システム1は、S1の学習処理の結果を用いて、発話文の対話行為を推定する対話行為推定処理を行う(S2)。より具体的には、S2において、まず、対話行為推定装置12は、S1の学習処理の結果である学習結果情報1131を読み込み(S21)、所定のモデルに反映させる。次いで、対話行為推定装置12は、記憶装置10に記憶される対話データ102を取得する(S22)。そして、対話行為推定装置12は、学習結果情報1131を反映させた所定のモデルを用いて、対話データ102に含まれる発話文の対話行為を推定する(S23)。
<学習処理装置11の動作>
次に、学習処理装置11が行う学習処理の詳細について説明する。
図10は、実施の形態1に係る学習処理の詳細のフローチャートである。図9と同様の要素には同一の符号を付している。以下では、図3等に示す例を用いて説明する。
まず、学習処理装置11は、学習対象である全ての重みパラメータすなわち学習対象の学習パラメータを初期化する(S10)。具体的には、学習処理装置11は、図5に示すニューラルネットワークモデル150の第1重みパラメータ〜第5重みパラメータを擬似乱数テーブルに基づいて初期化する。
次に、学習処理装置11は、学習用データ1011を取得する(S11)。具体的には、学習処理装置11は、記憶装置10に記憶されるコーパス101に含まれる複数の学習用データ1011のうちの一つを取得する。
次に、学習処理装置11は、S11で取得した学習用データ1011を用いて学習を行う(S12)。具体的には、学習処理装置11は、S11で取得した学習用データ1011に含まれる行為情報、属性情報および対話行為情報を教師データとして用いる。学習処理装置11は、図5に示すニューラルネットワークモデル150に、学習処理対象の第1発話文と行為情報との対応付け、第1発話文と属性情報との対応付け、および、第1発話文と対話行為情報との対応付けを当該教師データを用いて学習させる。
より詳細には、図10に示すように、S12において、まず、学習処理装置11は、S11で取得された第1時刻および前時刻群の文章149の各々を形態素解析することで単語列に変換する(S1211)。
次いで、学習処理装置11は、S1211で得られた第1時刻および前時刻群の単語列の各々を、行為情報を予測するための単語特徴を表現した行為用特徴ベクトルに変換する(S1212)。また、学習処理装置11は、S1211で得られた第1時刻および前時刻群の単語列の各々を、属性情報を予測するための単語特徴を表現した属性用特徴ベクトルに変換する(S1213)。
次いで、学習処理装置11は、S1212で算出された前時刻群の行為用特徴ベクトルおよび第1時刻の行為用特徴ベクトルと、前時刻群の話者識別情報148と、モデル1524の第1重みパラメータとに基づき、第1時刻の文章149に対する行為を予測する際に高頻度で用いられる文脈を示す第1特徴ベクトルを算出する(S1214)。また、学習処理装置11は、S1213で算出された前時刻群の属性用特徴ベクトルおよび第1時刻の属性用特徴ベクトルと、前時刻群の話者識別情報148と、モデル1525の第2重みパラメータとに基づき、第1時刻の文章149に対する属性を予測する際に高頻度で用いられる文脈を示す第2特徴ベクトルを算出する(S1215)。
次いで、学習処理装置11は、S1214で算出された第1特徴ベクトルと、モデル1526の第3重みパラメータとに基づき、第1時刻の文章149に対する行為の確率分布を示す事後確率を算出する(S1216)。また、学習処理装置11は、S1215で算出された第2特徴ベクトルと、モデル1527の第4重みパラメータとに基づき、第1時刻の文章149に対する行為の確率分布を示す事後確率を算出する(S1217)。
次いで、学習処理装置11は、S1214で算出された第1特徴ベクトルと、S1215で算出された第2特徴ベクトルと、モデル1528の第5重みパラメータとに基づき、第1時刻の文章149に対する対話行為の確率分布を示す事後確率を算出する(S1218)。
次いで、学習処理装置11は、S1216で算出された行為の事後確率と、S1217で算出された属性の事後確率と、S1218で算出された対話行為の事後確率と、教師データとを用いて学習する(S1219)。ここでの教師データは、上述したように、第1時刻の対話行為情報145で示される真値となる対話行為と、第1時刻の行為情報146で示される真値となる行為、第1時刻の属性情報147で示される真値となる属性である。つまり、学習処理装置11は、S1216〜S1218で算出した行為、属性および対話行為の事後確率と、これらの教師データとを用いて、モデル1524〜モデル1528の第1重みパラメータ〜第5重みパラメータすなわち学習パラメータを、誤差逆伝搬学習を行うことで適した数値に更新する。
次いで、学習処理装置11は、S12の学習処理を終了するか否かを判定する(S1220)。S12の学習処理を終了しない場合(S1220でNo)、再度、S11に戻り、第1時刻の次の時刻を第1時刻として、または別の学習用データ1011を取得して、S12の学習処理を行う。つまり、学習処理装置11は、S12の学習処理を、学習処理対象とする第1時刻または学習用データ1011を変更しながら、学習が収束するまで繰り返し実行する。
一方、学習処理装置11は、学習処理を終了する場合(S1220でYes)、学習処理の結果を示す学習結果情報1131を記憶する(S13)。具体的には、学習処理装置11は、学習処理終了時の学習パラメータを学習結果情報1131として記憶する。なお、学習処理装置11は、学習を繰り返しても、誤差が減らなくなった場合に学習処理を終了すると判定する。
<対話行為推定装置12の動作>
次に、対話行為推定装置12が行う対話行為推定の詳細について説明する。
図11は、図9に示すS23の詳細を示すフローチャートである。図9と同様の要素には同一の符号を付している。以下では図6等に示す例を用いて説明する。
S23において、対話行為推定装置12は、学習結果情報1131が反映された第1重みパラメータ〜第5重みパラメータを有するニューラルネットワークモデル150を用いて、推定処理対象の発話文の対話行為を推定する。
より詳細には、図11に示すように、S23において、まず、対話行為推定装置12は、S22で取得された対話データ102に含まれる推定処理対象の第2時刻および前時刻群の発話文174の各々を、形態素解析することで単語列に変換する(S2311)。
次いで、対話行為推定装置12は、S2311で得られた第2時刻および前時刻群の単語列の各々を、行為情報を予測するための単語特徴を表現した行為用特徴ベクトルに変換する(S2312)。また、対話行為推定装置12は、S2311で得られた第2時刻および前時刻群の単語列の各々を、属性情報を予測するための単語特徴を表現した属性用特徴ベクトルに変換する(S2313)。
次いで、対話行為推定装置12は、S2312で算出された前時刻群の行為用特徴ベクトルおよび第2時刻の行為用特徴ベクトルと、前時刻群の話者識別情報173と、モデル1524の学習済みの第1重みパラメータとに基づき、第2時刻の発話文174に対する行為を予測する際に高頻度で用いられる文脈を示す第1特徴ベクトルを算出する(S2314)。また、対話行為推定装置12は、S2313で算出された前時刻群の属性用特徴ベクトルおよび第2時刻の属性用特徴ベクトルと、前時刻群の話者識別情報173と、モデル1525の学習済みの第2重みパラメータとに基づき、第2時刻の発話文174に対する属性を予測する際に高頻度で用いられる文脈を示す第2特徴ベクトルを算出する(S2315)。
次いで、対話行為推定装置12は、S2314で算出された第1特徴ベクトルと、S2315で第2特徴ベクトルと、モデル1528の学習済みの第5の重みパラメータとに基づき、第2時刻の発話文174に対する対話行為の確率分布を示す事後確率を算出する(S2316)。
次いで、対話行為推定装置12は、S2316で得られた対話行為の事後確率に基づき、第2時刻の発話文174に対する対話行為を推定する(S2317)。対話行為推定装置12は、推定した対話行為を示す推定結果1231を記憶する。
なお、図11に示す一連の処理は、対話データ102に含まれる各時刻の発話文174に対して順次行われる。
[効果等]
以上のように、本実施の形態によれば、2つのRCNNすなわち行為および属性のそれぞれに一つ対応させたRCNNを用いて行為用文脈依存抽出と属性用文脈抽出とのタスクを学習するのと同時にその特徴結合のタスクも学習する。これにより、対話行為の推定精度を向上できる対話行為推定方法および対話行為推定装置を実現できる。
より具体的には、本実施の形態では、学習処理対象の第1時刻の発話文の対話行為を、当該発話文を示す文章の行為情報と属性情報と、行為情報および属性情報の組み合わせの対話行為情報とを用いてマルチタスク学習を行う。例えば、図3に示す文章149が示す行為の種類を示す行為情報146と、文章149が示す属性の種類を示す属性情報147と、例えば、FOL_INFOなどの行為情報146および属性情報147の組み合わせによる、文章149が示す対話行為情報145とを用いて学習を行う。これにより、発話文と対話行為情報との対応付けの精度を向上できる。なお、第1時刻の発話文の文章と、当該文章の行為情報と、当該文章の属性情報を個別に収集することで、更なる精度向上も可能である。
また、さらに複数の発話文の各々の話者を示す話者識別情報を用いて学習を行うことで、発話文と対話行為情報との対応付けの精度をより向上できる。
なお、学習処理対象の第1時刻の文章の話者が第1時刻の直前の文章の話者と同一であるか否かを示す話者交代情報と、各文章の話者を示す話者識別情報とをさらに用いて学習を行ってもよい。これにより、発話文と対話行為情報との対応付けの精度をさらに向上できる。
図12は、実施の形態1に係る対話行為推定方法等による効果を示す図である。図12では、一セット100〜1000の対話を含む14セット英語対話データ規模の旅行案内の対話コーパス(DSTC4)を用いて、図5に示すニューラルネットワークモデル150の学習パラメータを学習させたときの対話行為推定の結果を示している。また、図12には比較例として非特許文献1で提案される方法で学習させたときの対話行為推定の結果を示している。
図12に示すように、行為4種と、属性22種からなる88種の対話行為の分類精度(F1値)において、実施の形態1に係る推定結果は、非特許文献1の推定結果と比較して、ガイドに対しても、旅行者に対しても優れた分類精度を示しているのがわかる。
(変形例)
図13は、実施の形態1の変形例に係るニューラルネットワークモデル150Bの概略を示す図である。なお、図5と同様の要素には同一の符号を付しており、詳細な説明は省略する。
実施の形態1では、学習処理装置11および対話行為推定装置12は、所定のモデルとして、図5に示すニューラルネットワークモデル150を用いるとして説明したが、これに限らない。図13に示すニューラルネットワークモデル150Bを用いてもよい。
図13に示すニューラルネットワークモデル150Bは、図5に示すニューラルネットワークモデル150と比較して、モデル1524およびモデル1525のうちのモデル1525がなく、モデル1524Bのみを含んでいる点で構成が異なる。すなわち、図13に示すニューラルネットワークモデル150Bは、1つのリカレントニューラルネットワークを含むモデルであり、図5に示すニューラルネットワークモデル150は、2つのリカレントニューラルネットワークを含むモデルである点で構成が異なる。
以下、実施の形態1と異なる点について説明する。
[学習部112B]
学習部112Bは、実施の形態1と同様に、学習用データを用いて、所定のモデルに2種以上のタスクを同時に学習させる。学習部112Bは、タスクの一として、学習用データに含まれる行為情報を教師データとして用いて、第1発話文と行為情報との対応付けを学習させる。また、学習部112Bは、タスクの一として、学習用データに含まれる属性情報を教師データとして用いて、第1発話文と属性情報との対応付けを学習させる。また、学習部112Bは、タスクの一として、学習用データに含まれる対話行為情報を教師データとして、第1発話文と対話行為情報との対応付けを学習させる。
本変形例では、所定のモデルは、第1重みパラメータを有する第1モデル、第3重みパラメータを有する第3モデル、第4重みパラメータを有する第4モデル、第5重みパラメータを有する第5モデルを含む。第1モデルは、第1文章と、第2文章と、第1話者識別情報と、第2話者識別情報と、第1重みパラメータとに基づき、第1文章に示される行為および属性に関する単語特徴および当該単語特徴の文脈情報を表現する特徴ベクトルを出力する。第1モデルは、第1話者識別情報および第2話者識別情報に依存した前記第1重みパラメータを持つRNN−LSTMで構成される。第3モデルは、特徴ベクトルと、第3重みパラメータとに基づき、第1文章に対応する行為の事後確率を出力する。第4モデルは、特徴ベクトルと、第4重みパラメータとに基づき、第1文章に対応する属性の事後確率を出力する。第5モデルは、特徴ベクトルと、第5重みパラメータとに基づき、第1文章に対応する対話行為の事後確率を出力する。
つまり、本変形例では、学習部112Bは、第1文章に対応する行為の事後確率、第1文章に対応する属性の事後確率、および前記第1文章に対応する対話行為の事後確率と、学習用データに含まれる対話行為情報、行為情報および属性情報との間の誤差に基づいて、第1重みパラメータ、第3重みパラメータ、第4重みパラメータ、および第5重みパラメータを誤差逆伝搬法で更新することにより、学習用データを用いて2種以上のタスクを同時に学習させるマルチタスク学習を行う。
つまり、学習部112Bは、取得部111で取得された学習用データ1011を用いて1つのリカレントニューラルネットワークを含む所定のモデルにマルチタスク学習させる。そして、この所定のモデルが、図13に示すニューラルネットワークモデル150Bに該当する。
図14は、実施の形態1の変形例に係る学習部112Bの詳細構成の一例を示すブロック図である。図3と同様の要素には同一の符号を付しており、詳細な説明は省略する。
図14に示す学習部112Bは、図3に学習部112と比較して、行為用文脈依存抽出部1124と、属性用文脈依存抽出部1125とがなく、行為用および属性用文脈依存抽出部1124Bが追加されている点で構成が異なる。
<行為用および属性用文脈依存抽出部1124B>
行為用および属性用文脈依存抽出部1124Bは、第1モデルを用いて、行為用単語特徴抽出部1122が生成した行為用特徴ベクトルと属性用単語特徴抽出部1123が生成した属性用特徴ベクトルとなどから、複数の発話文で行為および属性を予測するのに用いられる単語特徴と当該単語特徴の周囲に高頻度に出現する単語などの文脈とを示す特徴ベクトルを生成する。なお、行為用および属性用文脈依存抽出部1124Bが第1モデルを用いて、特徴ベクトルを生成することは、同一の第1特徴ベクトルおよび第2特徴ベクトルを生成して特徴ベクトルとすることに該当する。
ここで、行為用および属性用文脈依存抽出部1124Bは、図13に示すニューラルネットワークモデル150Bに含まれる第1重みパラメータを有するモデル1524Bにより実現される。つまり、モデル1524Bは、本変形例の所定のモデルに含まれる第1モデルに該当し、第1文章と、第2文章と、第1話者識別情報と、第2話者識別情報と、第1重みパラメータとに基づき、第1文章に示される行為および属性に関する単語特徴および当該単語特徴の文脈情報を表現する特徴ベクトルを出力する。モデル1524Bは、第1話者識別情報および第2話者識別情報に依存した第1重みパラメータを持つRNN−LSTMで構成される。例えば、モデル1524Bは、前時刻群の話者識別情報148(図13で前話者識別情報)に依存した第1重みパラメータを持つ、時系列ニューラルネットワークモデルであるRNN−LSTMに従って、第1時刻の文章149と前時刻群の文章149とから特徴ベクトルを算出する。このモデル1524Bにより、行為および属性を予測する際に高頻度で発生する第1時刻の文章149と依存している文脈情報が特徴ベクトルとして出力される。
なお、これは、上記の式1〜式15において、第3重みパラメータ、第4パラメータを、単一の共通重みパラメータとし、行為用文脈依存抽出部1124の出力であるhe sub1と属性用文脈依存抽出部1125の出力であるhe sub2とこれらを結合したhe mainを全て同一の特徴ベクトルとして表現することで実現できる。
[推定部122B]
推定部122Bは、学習部112Bにより学習された結果である学習結果情報1131を反映した所定のモデルに、対話データを適用することにより、発話文の対話行為を推定する。本変形例では、推定部122Bは、記憶部113に記憶されている学習結果情報1131を反映させたニューラルネットワークモデル150Bを用いて、推定対象の発話文の対話行為を推定する。このニューラルネットワークモデル150Bは、学習部112Bで用いられたものと同一構造のものである。
図15は、実施の形態1の変形例に係る推定部122Bの詳細構成の一例を示すブロック図である。図7等と同様の要素には同一の符号を付している。
図15に示す推定部122Bは、図7に推定部122と比較して、行為用文脈依存抽出部1224と属性用文脈依存抽出部1225とがなく、行為用および属性用文脈依存抽出部1224Bが追加されている点で構成が異なる。
<行為用および属性用文脈依存抽出部1224B>
行為用および属性用文脈依存抽出部1224Bは、学習済みの第1モデルを用いて、行為用単語特徴抽出部1222が生成した行為用特徴ベクトルと属性用単語特徴抽出部1223が生成した属性用特徴ベクトルなどから、複数の発話文で行為および属性を予測するのに用いられる単語特徴と当該単語特徴の周囲に高頻度に出現する単語などの文脈とを示す特徴ベクトルを生成する。
ここで、行為用および属性用文脈依存抽出部1224Bは、図13に示すニューラルネットワークモデル150Bに含まれる学習済みの第1重みパラメータを有するモデル1524Bにより実現される。
なお、行為用および属性用文脈依存抽出部1224Bが第1モデルを用いて、特徴ベクトルを生成することは、実施の形態1において同一の第1特徴ベクトルおよび第2特徴ベクトルを生成して特徴ベクトルとすることに該当する。
[効果等]
以上のように、本変形例によれば、1つのRCNNを用いて、行為用文脈依存抽出と属性用文脈抽出とのタスクを学習するのと同時にその特徴結合のタスクも学習する。これにより対話行為の推定精度を向上できる対話行為推定方法および対話行為推定装置を実現できる。
図16Aおよび図16Bは、実施の形態1の変形例に係る対話行為推定方法等による効果を示す図である。図16Aおよび図16Bでも、一セット100〜1000の対話を含む14セット英語対話データ規模の旅行案内の対話コーパス(DSTC4)を用いている。図16Aおよび図16Bには、旅行案内の対話コーパス(DSTC4)を用いて図13に示すニューラルネットワークモデル150Bの学習パラメータを学習させたときの対話行為推定の結果を示している。また、図16Aおよび図16Bには比較例として非特許文献1で提案される方法で学習させたときの対話行為推定の結果と、実施の形態1に係る方法で学習させたときの対話行為推定の結果を示している。
図16Aおよび図16Bに示すように、行為4種と、属性22種から成る88種の対話行為の分類精度(F1値)において、本変形例に係る推定結果は、非特許文献1の推定結果と比較して、ガイドに対しても、旅行者に対しても優れた分類精度を示している。また、本変形例に係る推定結果は、実施の形態1に係る推定結果と比較して、旅行者に対して優れた分類精度を示している。これは実施の形態1と比較して、旅行案内の対話コーパス(DSTC4)において教師データとして利用できるデータ量が増えたことに起因すると考えられる。
(実施の形態2)
次に、実施の形態2として、上述した対話行為推定装置12の利用形態について説明する。
図17は、実施の形態2に係る対話システムの構成の一例を示すブロック図である。この対話システムは、音声認識の機能を有し、クラウド上に存在するサーバ50と、スマートフォン等の携帯端末60とを含む。ユーザは、携帯端末60を介して、音声によりシステムと自然言語による対話を行うことができる。サーバ50および携帯端末60は、例えば、インターネット等の公衆通信ネットワークを介して接続されている。
携帯端末60は、スマートフォンまたはタブレットなどである。携帯端末60は、マイク601、信号処理部602、応答実行部603および通信部604を備える。マイク601は、音声を電気的な音声信号に変換するものであり、ユーザの音声を収音するために用いられる。信号処理部602は、マイク601から入力される音声信号がノイズであるか否かを判定し、ノイズで無い場合、その音声信号を通信部604に出力する。通信部604は、入力された音声信号を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号をサーバ50に送信する。応答実行部603は、信号処理部602が通信部604より受け取った応答文をモニタに表示する。
サーバ50は、対話行為推定装置12、通信部501、音声処理部502、対話行為推定装置504、対話管理部505、および応答生成部506を備える。
通信部501は、携帯端末60からの通信信号を受信し、通信信号から音声信号を取り出して、取り出した音声信号を音声処理部502に出力する。音声処理部502は、取り出された音声信号を解析することで、ユーザが発話した音声を示すテキストデータを生成する。
対話行為推定装置504は、例えば、図2に示す対話行為推定装置12であり、上述した学習処理が既に終了している状態である。対話行為推定装置504は、音声処理部502で生成されたテキストデータを用いて、上述した対話データ102を生成し、該対話データ102を用いて、対話行為を推定し、推定結果を出力する。
対話管理部505は、対話行為推定装置504で推定された対話行為を時系列に保持し、対話行為の系列に基づいて、応答すべきシステム側の対話行為を出力する。応答生成部506は、対話管理部505から受け取った対話行為に対応する応答文を生成する。そして、通信部501は、生成された応答文を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号を携帯端末60に送信する。
このように、図17に示す対話システムでは、サーバ50は、実施の形態1で説明した学習が行われた後の対話行為推定装置504を用いて、ユーザの発話を適切に理解し、応答することが可能である。
以上、実施の形態に係る対話行為推定装置および対話行為推定方法等について説明したが、本開示は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る対話行為推定装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、またはLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、本開示は、対話行為推定装置により実行される対話行為推定方法として実現されてもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェアまたはソフトウェアが並列または時分割に処理してもよい。
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係る対話行為推定装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。