(57)【特許請求の範囲】
【請求項１】
畳み込みニューラルネットワークを備え、対話の主題ラベルを推定するための主題推定システムであって、
前記畳み込みニューラルネットワークは、
対話を書き起こした対話テキストに対応する単語列ベクトル列の入力に対して、トピックに依存した畳み込み演算を行う１以上のトピック依存畳み込み層と、当該トピックに依存しない畳み込み演算を行う１つのトピック非依存畳み込み層とで構成される畳み込み層と、
前記畳み込み層の出力に対してプーリング処理を行うプーリング層と、
前記プーリング層の出力に対して全結合処理を行う全結合層とを備える、
主題推定システム。
【請求項２】
前記畳み込みニューラルネットワークは、前記入力を２クラス分類問題として解くことで前記入力に対する対話の主題ラベルを推定する、
請求項１に記載の主題推定システム。
【請求項３】
前記畳み込みニューラルネットワークにおいて、対話を書き起こした学習用対話テキストであって前記対話の時系列のテキストがトピックごとのセグメントに予め分割され、かつ、分割されたセグメントごとに対応するトピックのラベルが予め付与された学習用対話テキストを、学習データとして用いて、前記１以上のトピック依存畳み込み層それぞれに、依存するトピックである依存トピックごとに当該依存トピックに依存する畳み込み演算を行わせるよう第１重みを学習させ、かつ、前記トピック非依存畳み込み層に当該依存トピックに依存しない畳み込み演算を行わせるよう第２重みを学習させる、
請求項１に記載の主題推定システム。
【請求項４】
前記１以上のトピック依存畳み込み層それぞれは、前記学習用対話テキストに対応する単語列ベクトル列のうち前記依存トピックに関連する単語列ベクトル列が入力されることにより、当該依存トピックに依存する畳み込み演算を行うよう前記第１重みを学習し、
前記トピック非依存畳み込み層は、前記学習用対話テキストに対応する単語列ベクトル列が入力されることにより、前記依存トピックに依存しない畳み込み演算を行うよう前記第２重みを学習する、
請求項３に記載の主題推定システム。
【請求項５】
畳み込みニューラルネットワークを備え、対話の主題ラベルを推定するための主題推定システムの主題推定方法であって、
対話を書き起こした対話テキストに対応する単語列ベクトル列の入力に対して、トピックに依存した畳み込み演算を行うトピック依存畳み込み処理ステップと、
前記入力に対して、前記トピックに依存しない畳み込み演算を行うトピック非依存畳み込み処理ステップと、
前記トピック依存畳み込み処理ステップの出力とトピック非依存畳み込み処理ステップの出力とに対してプーリング処理を行うプーリング処理ステップと、
前記プーリング処理ステップの出力に対して全結合処理を行う全結合処理ステップとを含む、
主題推定方法。
【請求項６】
前記トピック依存畳み込み処理ステップでは、前記単語列ベクトル列と、依存するトピックである依存トピックを示す特定の単語で発火する第１重み（Ａ）との畳み込み演算を行い、
前記トピック非依存畳み込み処理ステップでは、前記単語列ベクトル列と、前記依存トピック以外のトピックを示す単語で発火する第２重み（Ｚ）との畳み込み演算を行い、
前記プーリング処理ステップでは、前記トピック依存畳み込み処理ステップの出力と前記トピック非依存畳み込み処理ステップの出力とから時間方向の最大値を取り出す演算を行い、
全結合処理ステップでは、前記プーリング処理ステップの出力に対して、結合重みを用いた重み付き加算を行った後に、確率分布化を行うことで全結合処理を行う、
請求項５に記載の主題推定方法。
【請求項７】
前記プーリング処理ステップの出力の確率分布と閾値とを比較することにより、前記対話の主題ラベルを推定して出力する出力ステップと、を含む、
請求項６に記載の主題推定方法。
【請求項８】
前記対話テキストに対応する単語列ベクトル列の入力を行う入力ステップを含み、
前記入力ステップは、
さらに、対話を書き起こした対話テキストであって前記対話が時系列にテキスト化された対話テキストを受理する受理ステップと、
前記対話テキストに含まれる単語列の各単語のベクトルを所定の方法により計算して単語列ベクトル列を得るベクトル化ステップとを含む、
請求項５〜７のいずれか１項に記載の主題推定方法。
【請求項９】
さらに、
前記畳み込みニューラルネットワークに、対話を書き起こした学習用対話テキストであって前記対話の時系列のテキストがトピックごとのセグメントに予め分割され、かつ、分割されたセグメントごとに対応するトピックのラベルが予め付与された学習用対話テキストを、学習データとして用いて、前記トピック依存畳み込み処理ステップが依存するトピックである依存トピックに依存する畳み込み演算を行うよう前記第１重みを学習させる第１ステップと、
前記学習用対話テキストを用いて、前記トピック非依存畳み込み処理ステップが当該依存トピックに依存しない畳み込み演算を行うよう前記第２重みを学習させる第２ステップとを含む、
請求項６〜８のいずれか１項に記載の主題推定方法。
【請求項１０】
前記第１ステップでは、前記学習用対話テキストに対応する単語列ベクトル列のうち前記依存トピックに関連する単語列ベクトル列を用いて前記第１重みを学習させ、
前記第２ステップでは、前記学習用対話テキストに対応する単語列ベクトル列のうち前記依存トピック以外のトピックに関連する単語列ベクトル列を用いて前記第２重みを学習させる、
請求項９に記載の主題推定方法。
【請求項１１】
さらに、
前記学習用対話テキストに対応する単語列ベクトル列のうち第１依存トピックに関連する単語列ベクトル列の数が第２依存トピックに関連する単語列ベクトル列の数よりも少ない場合、Ｗｅｂを検索して得た前記第１依存トピックに関連する対話テキストを前記学習データの半教師データとして用いて、前記第１ステップおよび前記第２ステップを行う、
請求項９または１０に記載の主題推定方法。
【請求項１２】
畳み込みニューラルネットワークを備え、対話の主題ラベルを推定するコンピュータに読み取り可能なプログラムであって、
対話を書き起こした対話テキストに対応する単語列ベクトル列の入力に対して、トピックに依存した畳み込み演算を行うトピック依存畳み込み処理ステップと、
前記入力に対して、トピックに依存しない畳み込み演算を行うトピック非依存畳み込み処理ステップと、
前記トピック依存畳み込み処理ステップの出力とトピック非依存畳み込み処理ステップの出力とに対してプーリング処理を行うプーリング処理ステップと、
前記プーリング処理ステップの出力に対して全結合処理を行う全結合処理ステップとを含む、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話の主題を推定する主題推定システム、主題推定方法およびプログラムに関する。
【背景技術】
【０００２】
畳み込みニューラルネットワークを利用してパターン認識を行うシステムがある（例えば特許文献１）。特許文献１には、畳み込みニューラルネットワークを用いたパターン認識の一般的な方法が開示されている。
【０００３】
また、畳み込みニューラルネットワークを自然言語処理の分野に適用する方法も知られている（例えば非特許文献１）。非特許文献１には、公知のデータセットを用いて学習させた畳み込みニューラルネットワークを用いて文の分類を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００３／０１７４８８１号明細書
【非特許文献】
【０００５】
【非特許文献１】Yoon Kim、“Convolutional Neural Networks for Sentence Classification”、［online］、［平成28年3月29日検索］、インターネット〈URL：http://arxiv.org/abs/1408.5882〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術を用いた文の分類方法では、畳み込みニューラルネットワークは十分な学習データを用いて学習されることが前提であり、学習データが十分でない場合についてはあまり考慮されていない。
【０００７】
そのため、上記従来技術に開示される畳み込みニューラルネットワークを用いても、学習データが十分でない場合、対話の主題を推定するタスクを精度よく行えないという課題がある。
【０００８】
そこで、本発明は、上述の問題点に着目したものであり、学習データが十分でない場合でも、対話の主題をより高精度に推定することができる主題推定システム、主題推定方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の一形態に係る主題推定システムは、畳み込みニューラルネットワークを備え、対話の主題ラベルを推定するための主題推定システムであって、前記畳み込みニューラルネットワークは、対話を書き起こした対話テキストに対応する単語列ベクトル列の入力に対して、トピックに依存した畳み込み演算を行う１以上のトピック依存畳み込み層と、当該トピックに依存しない畳み込み演算を行う１つのトピック非依存畳み込み層とで構成される畳み込み層と、前記畳み込み層の出力に対してプーリング処理を行うプーリング層と、前記プーリング層の出力に対して全結合処理を行う全結合層とを備える。
【００１０】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１１】
本発明によれば、学習データが十分でない場合でも、対話の主題をより高精度に推定することができる主題推定システム等を実現できる。
【図面の簡単な説明】
【００１２】
【図１】比較例の主題推定システムが利用する畳み込みニューラルネットの構造を示す図
【図２】比較例の畳み込みニューラルネットワークがマルチラベル出力に対応しないことを説明するための図
【図３】実施の形態１における主題推定システムが利用する畳み込みニューラルネットの構造を示す図
【図４】実施の形態１における主題推定システムの識別時の機能構成を示すブロック図
【図５】主題推定システムを実行するのに必要なコンピュータのハードウェア構成の一例を示す図
【図６】図４に示す識別時の主題推定システムの動作を示すフローチャート
【図７】実施の形態１における主題推定システムの学習時の機能構成を示すブロック図
【図８】図７に示す学習時の主題推定システムの動作を示すフローチャート
【図９】実施の形態１における主題推定システムの実験的検証結果を示す図
【図１０】実施の形態２における主題推定システムの追加学習時の機能構成を示すブロック図
【図１１】図１０に示す追加学習時の主題推定システムの動作を示すフローチャート
【図１２】実施の形態２における主題推定システムの実験的検証結果を示すグラフ
【発明を実施するための形態】
【００１３】
（本発明の基礎となった知見）
本開示において想定する対話の主題を推定するタスクは、人間と機械とを問わず、二者間を基本とする自然言語のやりとりである対話の主題が何かを推定するというタスクである。当該タスクは、対話中の単語列が入力され、一つのトピックに関すると認定された当該単語列のセグメントを一単位として、その対話における主題が何かを推定する。
【００１４】
畳み込みニューラルネットワークを基本とする主題推定システムでは、学習データを用いて畳み込みニューラルネットワークの学習を行い、評価データを用いて評価を行う。
【００１５】
本開示において想定する上記タスクでは、有限個のトピックが定義され、出力として得たい有限個の主題も定義される。また、トピックが何であるかについては、セグメント内の単語列と共に主題推定システムに与えられる。
【００１６】
しかしながら、上述したように、上記従来技術に開示される畳み込みニューラルネットワークを主題推定システムに利用する場合には、その畳み込みニューラルネットワークを十分な学習データを用いて学習させることが前提である。学習データが十分でない場合についてまでは検討されていない。
【００１７】
例えば人間同士の対話を記録したデータから当該対話を書き起こしたものを学習データとして利用する場合、あるトピックについては対話量が少なく学習データが少ないということが起こりうる。また、出力として得たい主題についても、ある主題については学習データが少ないということが起こり得る。このような、学習データが少なくまた数に偏りがあるという場合についてまでは、検討されていない。
【００１８】
そのため、上記従来技術に開示される畳み込みニューラルネットワークを用いても、学習データが十分でない場合、対話の主題を推定するタスクを精度よく行えないという課題が発生する。
【００１９】
このような課題を解決するために、本発明の一形態に係る主題推定システムは、畳み込みニューラルネットワークを備え、対話の主題ラベルを推定するための主題推定システムであって、前記畳み込みニューラルネットワークは、対話を書き起こした対話テキストに対応する単語列ベクトル列の入力に対して、トピックに依存した畳み込み演算を行う１以上のトピック依存畳み込み層と、当該トピックに依存しない畳み込み演算を行う１つのトピック非依存畳み込み層とで構成される畳み込み層と、前記畳み込み層の出力に対してプーリング処理を行うプーリング層と、前記プーリング層の出力に対して全結合処理を行う全結合層とを備える。
【００２０】
この構成により、学習データが十分でない場合でも、対話の主題をより高精度に推定することができる主題推定システムを実現できる。より具体的には、この構成によれば、学習データが多い場合に精度が高いトピックごとに学習される１つのトピック非依存畳み込み層と、学習データが少ない場合に精度が高いトピックによらず学習される１以上のトピック依存畳み込み層とが、上位の階層で統合されるため、学習データの量が少ない場合にも高い主題推定性能が得られる。
【００２１】
また、前記畳み込みニューラルネットワークは、前記入力を２クラス分類問題として解くことで前記入力に対する対話の主題ラベルを推定するとしてもよい。
【００２２】
また、前記畳み込みニューラルネットワークにおいて、対話を書き起こした学習用対話テキストであって前記対話の時系列のテキストがトピックごとのセグメントに予め分割され、かつ、分割されたセグメントごとに対応するトピックのラベルが予め付与された学習用対話テキストを、学習データとして用いて、前記１以上のトピック依存畳み込み層それぞれに、依存するトピックである依存トピックごとに当該依存トピックに依存する畳み込み演算を行わせるよう第１重みを学習させ、かつ、前記トピック非依存畳み込み層に当該依存トピックに依存しない畳み込み演算を行わせるよう第２重みを学習させるとしてもよい。
【００２３】
また、前記１以上のトピック依存畳み込み層それぞれは、前記学習用対話テキストに対応する単語列ベクトル列のうち前記依存トピックに関連する単語列ベクトル列が入力されることにより、当該依存トピックに依存する畳み込み演算を行うよう前記第１重みを学習し、前記トピック非依存畳み込み層は、前記学習用対話テキストに対応する単語列ベクトル列が入力されることにより、前記依存トピックに依存しない畳み込み演算を行うよう前記第２重みを学習するとしてもよい。
【００２４】
また、上記課題を解決するために、本発明の一形態に係る主題推定方法は、畳み込みニューラルネットワークを備え、対話の主題ラベルを推定するための主題推定システムの主題推定方法であって、対話を書き起こした対話テキストに対応する単語列ベクトル列の入力に対して、トピックに依存した畳み込み演算を行うトピック依存畳み込み処理ステップと、前記入力に対して、前記トピックに依存しない畳み込み演算を行うトピック非依存畳み込み処理ステップと、前記トピック依存畳み込み処理ステップの出力とトピック非依存畳み込み処理ステップの出力とに対してプーリング処理を行うプーリング処理ステップと、前記プーリング処理ステップの出力に対して全結合処理を行う全結合処理ステップとを含む。
【００２５】
これにより、学習データが十分でない場合でも、対話の主題をより高精度に推定することができる主題推定方法を実現できる。より具体的には、トピックに依存した畳み込み演算の結果とトピックに依存しない畳み込み演算の結果とが後段で統合されるため、学習データの量が少ない場合にも高い主題推定性能が得られる。
【００２６】
また、前記トピック依存畳み込み処理ステップでは、前記単語列ベクトル列と、依存するトピックである依存トピックを示す特定の単語で発火する第１重み（Ａ）との畳み込み演算を行い、前記トピック非依存畳み込み処理ステップでは、前記単語列ベクトル列と、前記依存トピック以外のトピックを示す単語で発火する第２重み（Ｚ）との畳み込み演算を行い、前記プーリング処理ステップでは、前記トピック依存畳み込み処理ステップの出力と前記トピック非依存畳み込み処理ステップの出力とから時間方向の最大値を取り出す演算を行い、全結合処理ステップでは、前記プーリング処理ステップの出力に対して、結合重みを用いた重み付き加算を行った後に、確率分布化を行うことで全結合処理を行うとしてもよい。
【００２７】
また、前記プーリング処理ステップの出力の確率分布と閾値とを比較することにより、前記対話の主題ラベルを推定して出力する出力ステップと、を含むとしてもよい。
【００２８】
また、前記対話テキストに対応する単語列ベクトル列の入力を行う入力ステップを含み、前記入力ステップは、さらに、対話を書き起こした対話テキストであって前記対話が時系列にテキスト化された対話テキストを受理する受理ステップと、前記対話テキストに含まれる単語列の各単語のベクトルを所定の方法により計算して単語列ベクトル列を得るベクトル化ステップとを含むとしてもよい。
【００２９】
また、さらに、前記畳み込みニューラルネットワークに、対話を書き起こした学習用対話テキストであって前記対話の時系列のテキストがトピックごとのセグメントに予め分割され、かつ、分割されたセグメントごとに対応するトピックのラベルが予め付与された学習用対話テキストを、学習データとして用いて、前記トピック依存畳み込み処理ステップが依存するトピックである依存トピックに依存する畳み込み演算を行うよう前記第１重みを学習させる第１ステップと、前記学習用対話テキストを用いて、前記トピック非依存畳み込み処理ステップが当該依存トピックに依存しない畳み込み演算を行うよう前記第２重みを学習させる第２ステップとを含むとしてもよい。
【００３０】
また、前記第１ステップでは、前記学習用対話テキストに対応する単語列ベクトル列のうち前記依存トピックに関連する単語列ベクトル列を用いて前記第１重みを学習させ、前記第２ステップでは、前記学習用対話テキストに対応する単語列ベクトル列のうち前記依存トピック以外のトピックに関連する単語列ベクトル列を用いて前記第２重みを学習させるとしてもよい。
【００３１】
また、さらに、前記学習用対話テキストに対応する単語列ベクトル列のうち第１依存トピックに関連する単語列ベクトル列の数が第２依存トピックに関連する単語列ベクトル列の数よりも少ない場合、Ｗｅｂを検索して得た前記第１依存トピックに関連する対話テキストを前記学習データの半教師データとして用いて、前記第１ステップおよび前記第２ステップを行うとしてもよい。
【００３２】
なお、本発明は、装置として実現するだけでなく、このような装置が備える処理手段を備える集積回路として実現したり、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
【００３３】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
【００３４】
（実施の形態１）
本実施の形態では、畳み込みニューラルネットワークを備え、対話の主題ラベルを推定する主題推定システムについて説明する。なお、以下では、まず、図１を用いて比較例の主題推定システムが利用する畳み込みニューラルネットワークの構造等を説明した後に、図３を用いて本実施の形態における主題推定システムが利用する畳み込みニューラネットワークの構造等を説明する。
【００３５】
[比較例の主題推定システムの構造等]
図１は、比較例の主題推定システムが利用する畳み込みニューラルネットワーク８０の構造を示す図である。図１に示す畳み込みニューラルネットワーク８０は、入力特徴８１と、畳み込み層８２と、プーリング層８３と、全結合層８４とを備える。
【００３６】
入力特徴８１は、入力となる単語列を所定の方法でベクトル列に変換する。畳み込み層８２は、１から数単語の近接するベクトル列を切り出した上で、学習済みの重み行列を用いて畳み込み演算を行う。プーリング層８３は、畳み込み層８２の出力に対して、時間方向の最大値を求めるという演算を行う。全結合層８４は、全結合層８４の出力素子ごとにプーリング層８３の出力に対して結合重みを掛けて加算し、最後にsoftmax関数を用いて確率分布化する。
【００３７】
このような比較例における畳み込みニューラルネットワーク８０を主題推定タスクに用いると、学習データを用いた学習により、対話中の単語列の中で主題と関連性の高い部分の重みが大きくなり、特定の言語表現が含まれる場合に特定の主題を推定することができる。
【００３８】
図１の入力特徴８１内の太線で示した枠は、時間窓である。図１には、１単語用の時間窓と２単語用の時間窓との２種類が示されている。これらの時間窓は、時間方向に沿って、入力となる単語列を変換したベクトル列の最初から最後までシフトされ、それぞれの時間窓ごとに畳み込み演算と非線形処理が行われ、出力値を得る。これらを保持する出力素子が、畳み込み層８２内の太線で示した四角で表現されている。
【００３９】
なお、畳み込みニューラルネットワーク８０を利用した畳み込み演算は、フィルター処理とも呼ばれる。また、畳み込み層８２の出力素子の数は、フィルターの総数と時間窓のシフト数との掛け算で決まる。一方、全結合層８４は、全ての主題ラベルのそれぞれに対応する出力素子を有するので、全結合層８４の出力素子の数は、全ての主題ラベルの数で決まる。したがって、比較例の畳み込みニューラルネットワーク８０を利用した主題推定システムでは、多クラス分類問題として問題（主題推定）が解かれることなる。
【００４０】
しかしながら、上述したように、比較例の畳み込みニューラルネットワーク８０では、学習データが少ない場合、学習データが少ない主題の推定精度に引っ張られてしまい、対話の主題を推定するタスクを精度よく行えないという課題がある。
【００４１】
さらに、比較例の畳み込みニューラルネットワーク８０では、マルチラベル出力（言語表現の多義性）に対応していないという課題もある。これについて図２を用いて説明する。
【００４２】
図２は、比較例の畳み込みニューラルネットワーク８０がマルチラベル出力に対応しないことを説明するための図である。
【００４３】
図２の（ａ）および（ｂ）には、対話中の単語列中に同一の単語「rate」があるが別のトピックである対話文を畳み込みニューラルネットワーク８０を利用する主題推定システムが主題を推定した場合が示されている。より具体的には、図２の（ａ）には、トピックが「ACCOMMODATION」（「宿泊」）で、対話中の単語列「The room rate is twenty dollars.」の場合に、比較例の畳み込みニューラルネットワーク８０を利用する主題推定システムが推定した主題ラベル「Pricerange」が示されている。図２の（ｂ）には、トピックが「ATTRACTION」（「アトラクション」）で、対話中の単語列「So kids have to pay the same rate as adults.」の場合に、比較例の畳み込みニューラルネットワーク８０を利用する主題推定システムが推定した主題ラベル「Pricerange」が示されている。
【００４４】
図２の（ｂ）では、対話中の単語列中に同一の単語「rate」があるものの図２の（ａ）とは別のトピックであるため、主題ラベル「Fee」が正解となる。しかし、図２の（ｂ）では、図２の（ａ）と同じ主題ラベル「Pricerange」が推定されている。このように、比較例の畳み込みニューラルネットワーク８０を利用する主題推定システムでは、対話中の単語列中に同一の単語「rate」があるが文脈で主題が変わる場合（言語表現に多義性がある場合）、対応できないという課題もある。
【００４５】
[本実施の形態の主題推定システムの構造等]
図３は、本実施の形態における主題推定システムが利用する畳み込みニューラルネットワークの構造を示す図である。
【００４６】
図３に示す畳み込みニューラルネットワーク１０は、入力特徴１１と、畳み込み層１２と、プーリング層１３と、全結合層１４とを備える。詳細は後述するが、入力特徴１１はトピックに応じて畳み込み層１２を構成するトピック依存の畳み込み層およびトピック非依存の畳み込み層に結合される。また、トピックに応じてプーリング層１３がトピック依存の畳み込み層とトピック非依存の畳み込み層に結合される。さらにトピックに応じて全結合層１４がプーリング層１３に結合される。
【００４７】
入力特徴１１は、単語列が入力され、入力された単語列を所定の方法でベクトル列に変換する。なお、入力特徴１１には、入力対象の単語列が所定の方法で変換されたベクトル列が入力されるとしてもよい。つまり、入力特徴１１は、対話を書き起こした対話テキストに対応する単語列ベクトル列が入力されてもよい。より具体的には、入力特徴１１には、対話を書き起こした対話テキストであって対話が時系列にテキスト化された対話テキストに含まれる単語列の各単語のベクトルを所定の方法により計算して得た（変換した）単語列ベクトル列が入力されるとしてもよい。
【００４８】
入力特徴１１は、入力されたベクトル列のうち、時間窓により切り出された１から数単語の近接するベクトル列のトピックに応じて、畳み込み層１２を構成するトピック依存の畳み込み層またはトピック非依存の畳み込み層（後述）に結合される。
【００４９】
図３に示される例では、入力特徴１１に、まず、トピック＃ａに関する対話を書き起こした対話テキスト「if you take a dorm bed per…」に対応する単語列ベクトル列１１ａが入力されている。そして、その後、入力特徴１１に、トピック＃ｂに関する対話を書き起こした対話テキスト「if you want to buy a spec…」に対応する単語列ベクトル列１１ｂが入力されている。ここで、図３の入力特徴１１内の太線で示した枠は、時間窓である。図３には、図１同様に、１単語用の時間窓と２単語用の時間窓の２種類が示されている。
【００５０】
畳み込み層１２は、単語列ベクトル列の入力に対して、トピックに依存した畳み込み演算を行う１以上のトピック依存畳み込み層と、当該単語列ベクトル列の入力に対して、当該トピックに依存しない畳み込み演算を行う１つのトピック非依存畳み込み層とで構成される。トピック依存畳み込み層は、単語列ベクトル列と、当該依存するトピックを示す特定の単語で発火する第１重みとの畳み込み演算を行う。また、トピック非依存畳み込み層は、単語列ベクトル列と、当該依存するトピック以外の（当該依存トピックに依存しない）トピックを示す単語で発火する第２重みとの畳み込み演算を行う。
【００５１】
このように、畳み込み層１２は、トピックと関連づけたトピック依存畳み込み層とトピックと関連づけられていないトピック非依存畳み込み層とを有する。そして、入力特徴１１は、トピックに応じて、トピック依存畳み込み層またはトピック非依存畳み込み層に結合される。
【００５２】
本実施の形態では、例えばトピックが＃ａと＃ｂの２種類であるとして説明する。なお、もちろんトピックは２種類に限らないのはいうまでもない。
【００５３】
畳み込み層１２は、図３に示すように、トピック＃ａに依存した畳み込み演算を行うトピック依存畳み込み層１２ａおよびトピック＃ｂに依存した畳み込み演算を行うトピック依存畳み込み層１２ｂと、これらトピックに依存しない畳み込み演算を行うトピック非依存畳み込み層１２ｚとの３つのパートで構成される。
【００５４】
より具体的には、トピック依存畳み込み層１２ａは、単語列ベクトル列１１ａにおいて切り出された１から数単語の近接するベクトル列と、トピック＃ａを示す特定の単語で発火する学習済みの重み行列（第１重み）との畳み込み演算を行う。トピック依存畳み込み層１２ｂは、単語列ベクトル列１１ｂにおいて切り出された１から数単語の近接するベクトル列と、トピック＃ｂを示す特定の単語で発火する学習済みの重み行列（第１重み）との畳み込み演算を行う。トピック非依存畳み込み層１２ｚは、単語列ベクトル列１１ａにおいて切り出された１から数単語の近接するベクトル列および単語列ベクトル列１１ｂにおいて切り出された１から数単語の近接するベクトル列と、トピック＃ａおよびトピック以外のトピックを示す単語で発火する学習済みの重み行列（第２重み）との畳み込み演算を行う。
【００５５】
プーリング層１３は、畳み込み層１２の出力に対してプーリング処理を行う。より具体的には、プーリング層１３は、トピック依存畳み込み層の出力とトピック非依存畳み込み層の出力とから時間方向の最大値を取り出す演算を行う。
【００５６】
図３に示される例では、入力特徴１１に単語列ベクトル列１１ａが入力されたときには、トピック依存畳み込み層１２ａおよびトピック非依存畳み込み層１２ｚにプーリング層１３ａが結合される。プーリング層１３ａはこれらの出力から時間方向の最大値を取り出す演算を行う。また、入力特徴１１に単語列ベクトル列１１ｂが入力されたときには、トピック依存畳み込み層１２ｂおよびトピック非依存畳み込み層１２ｚにプーリング層１３ｂが結合される。プーリング層１３ｂは、これらの出力から時間方向の最大値を取り出す演算を行う。
【００５７】
全結合層１４は、プーリング層１３の出力に対して全結合処理を行う。より具体的には、全結合層１４は、プーリング層１３の出力に対して、結合重みを用いた重み付き加算を行った後に、確率分布化を行う。本実施の形態では、全結合層１４は、出力素子ごとにプーリング層１３の出力に対して結合重みを掛けて加算し、最後にsoftmax関数を用いて確率分布化する。
【００５８】
図３に示される例では、入力特徴１１に単語列ベクトル列１１ａが入力されたときには、プーリング層１３ａと全結合層１４ａとが結合される。全結合層１４ａはプーリング層１３ａの出力に対して結合重みを掛けて加算し、最後にsoftmax関数を用いて確率分布化する。また、入力特徴１１に単語列ベクトル列１１ｂが入力されたときには、プーリング層１３ｂと全結合層１４ｂとが結合される。全結合層１４ｂは、プーリング層１３ｂの出力に対して結合重みを掛けて加算し、最後にsoftmax関数を用いて確率分布化する。
【００５９】
そして、全結合層１４は、プーリング層１３の出力の確率分布と閾値とを比較することにより、対話の主題ラベルを推定して出力する。
【００６０】
このようにして、畳み込みニューラルネットワーク１０は、入力を２クラス分類問題として解くことで当該入力に対する対話の主題ラベルを推定する。
【００６１】
換言すると、図１で説明した比較例の全結合層８４では、全ての主題ラベルのそれぞれに対応する出力素子があり、多クラス分類問題として問題が解かれていた（学習されていた）。一方、本実施の形態における畳み込みニューラルネットワーク１０を利用した主題推定システムでは、それぞれの主題（トピック）に特化したトピック依存畳み込み層とトピックに特化しないトピック非依存畳み込み層を有する。そのため、図３に示すように、主題ラベルpricerangeについては、pricerangeであるか、または、pricerangeではない(NOT pricerange)という２クラス分類問題として解くことができる（学習することができる）。これによって、主題ごとの学習データの数に偏りがあっても、数の少ない主題の学習結果が、数の多い主題の学習結果に影響されないだけではく、数が少ない学習データに対する性能すなわち推定精度が改善される。
【００６２】
（畳み込みニューラルネットワーク１０の学習）
ここで、本実施の形態における畳み込みニューラルネットワーク１０の学習について説明する。
【００６３】
本実施の形態では、学習データ（訓練データ）としては、対話を書き起こした学習用対話テキストであって対話の時系列のテキストがトピックごとのセグメントに予め分割され、かつ、分割されたセグメントごとに対応するトピックのラベルが予め付与された学習用対話テキストを用いる。この学習用対話テキストとしては、例えばＤＳＴＣ４（Dialog State Tracking Challenge 4)のデータセットを用いてもよい。
【００６４】
畳み込みニューラルネットワーク１０において、１以上のトピック依存畳み込み層１２ａ、１２ｂそれぞれに、依存するトピックごとに当該トピックに依存する畳み込み演算を行わせるよう第１重みを学習させ、かつ、トピック非依存畳み込み層１２ｚに、当該依存するトピックに依存しない畳み込み演算を行わせるよう第２重みを学習させる。１以上のトピック依存畳み込み層それぞれは、学習用対話テキストに対応する単語列ベクトル列のうち当該依存するトピックに関連する単語列ベクトル列が入力されて、当該依存するトピックに依存する畳み込み演算を行うよう第１重みを学習する。トピック非依存畳み込み層１２ｚは、学習用対話テキストに対応する単語列ベクトル列が入力されて、当該依存するトピックに依存しない畳み込み演算を行うよう第２重みを学習する。
【００６５】
また、畳み込みニューラルネットワーク１０では、畳み込み層１２の畳み込み重み（第１重み、第２重み）と全結合層１４の結合重みの学習を、望ましい出力と実際の出力の差（エラー）に基づいて行う。望ましい出力と実際の出力の差（エラー）に基づく学習を行うための学習アルゴリズムとしては、確率的勾配降下法（ＳＧＤ）などが知られている。学習アルゴリズムは公知のものでよいので、ここでの説明は省略する。
【００６６】
このような学習処理を、畳み込み層１２を構成するトピック依存畳み込み層１２ａ、トピック依存畳み込み層１２ｂおよびトピック非依存畳み込み層１２ｚのそれぞれに、行う。これにより、トピック依存畳み込み層１２ａ、１２ｂでは、トピックにより特化した言語表現と結びつくが、学習データ中のそれぞれに依存するトピックの対話文の量は限られているので学習データの量は比較的少なくなる。一方で、トピック非依存畳み込み層１２ｚでは、トピックによらない言語表現と結びつくため学習データの量は比較的多くなる。
【００６７】
そして、両者（トピック依存畳み込み層１２ａ、１２ｂとトピック非依存畳み込み層１２ｚ）は、図３に示すように、後段（プーリング層１３や全結合層１４）で結びつくように構成されている。そのため、学習によりバランスが取られることになる。すなわち、学習データが多いトピックについても学習データが少ないトピックについてもトピック依存畳み込み層１２ａ、１２ｂとトピック非依存畳み込み層１２ｚとの結合重みが調整される。
【００６８】
これにより、学習データが多いピックが対話文として入力された場合にはトピック依存畳み込み層の出力が重視され、学習データが少ないトピックが対話文として入力された場合にはトピック非依存の畳み込み層の出力が重視されるため、学習データの量の違いによる性能の差が低減される。本構成では、特に学習データが少ないトピックについての性能（推定精度）を底上げすることができる。
【００６９】
さらに、トピック依存畳み込み層１２ａ、１２ｂとトピック非依存畳み込み層１２ｚとが、図１に示すように、上位の階層（プーリング層１３や全結合層１４）で結びつくように構成されているため、図２で説明したような問題も起きない。すなわち、畳み込みニューラルネットワーク１０を備える本実施の形態における主題推定システムは、畳み込みニュートラルネットワークによるマルチドメイン対話主題も推定することができる。
【００７０】
［本実施の形態の主題推定システムの機能構成］
次に、上述した本実施の形態における主題推定システムの学習時および識別時について具体的に説明する。以下では、本主題推定システムの学習時および識別時の機能構成図と動作図を用いて説明する。
【００７１】
（識別時）
図４は、本実施の形態における主題推定システムの識別時の機能構成を示すブロック図である。ここでは、主題推定システムが利用する畳み込みニューラルネットワーク１０を機能ブロック図として記載している。
【００７２】
図４に示す本実施の形態における主題推定システムは、入力部１１０、単語ベクトル列制御部１１１、トピック依存畳み込み層計算部１２１、トピック非依存畳み込み層計算部１２３、プーリング層計算部１３１、全結合層計算部１４１、および、出力部１５０を備える。さらに、本主題推定システムは、重みＡ（第１重み）を格納する格納部１２２と、重みＺ（第２重み）を格納する格納部１２４と、重みｆを格納する格納部１４２とを備える。ここで、入力部１１０と単語ベクトル列制御部１１１とは、上述した入力特徴１１の機能構成である。トピック依存畳み込み層計算部１２１と格納部１２２とトピック非依存畳み込み層計算部１２３と格納部１２４とは、上述した畳み込み層１２の機能構成である。プーリング層計算部１３１は上述したプーリング層１３の機能構成であり、全結合層計算部１４１と格納部１４２とは上述した全結合層１４の機能構成である。
【００７３】
図４に示す主題推定システムには、単語列情報５１とトピック情報５２とからなる入力情報５０が入力される。入力部１１０は、単語列情報５１から単語列を受け取り、同時にトピック情報５２からトピックを受け取る。単語ベクトル列制御部１１１は、単語列を所定の方法によりベクトル列に変換する。ここで、単語列をベクトルに変換する方法は、bag-of-wordsと呼ばれる方法やその次元を圧縮して用いる方法が種々提案されており、それらの公知の方法を上記所定の方法とすればよい。
【００７４】
トピック依存畳み込み層計算部１２１は、単語列ベクトル列と重みＡ（第１重み）を用いて畳み込み演算を行う。この重みＡ（第１重み）は、トピックごとのフィルターの総数だけ存在する。トピック非依存畳み込み層計算部１２３は、単語列ベクトル列と重みＺ（第２重み）を用いて畳み込み演算を行う。この重みＺ（第２重み）はトピック非依存のフィルターの数だけ存在する。
【００７５】
プーリング層計算部１３１は、トピック依存畳み込み層計算部１２１とトピック非依存畳み込み層計算部１２３のそれぞれのフィルターに対応する出力を時間方向に見て最大値を取り出す。
【００７６】
全結合層計算部１４１は、出力素子ごとにフィルターに対応する出力に重みｆを掛けて加算し、最後にsoftmax関数により確率分布化する。Softmax関数により、例えば、図３に示す例のように出力の主題が”pricerange”と”NOT pricerange”である場合に、２つの素子の出力は、それぞれ０以上で、和が１となるように調整される。
【００７７】
出力部１５０は、閾値（例えば０．５）と全結合層計算部１４１の結果とを比較し、確率分布が閾値を超える主題を出力する。
【００７８】
なお、本主題推定システムは、図５に示すようなハードウェア構成のコンピュータにより実行される。図５は、主題推定システムを実行するのに必要なコンピュータのハードウェア構成の一例を示す図である。
【００７９】
本主題推定システムを実行するコンピュータは、図５に示すように、ＣＰＵ１００１、メモリ１００２、外部記憶装置１００３、ネットワークインターフェイス１００４、出力装置１００６及び入力装置１００７を備える。これらは、バスにより接続される。
【００８０】
本主題推定システムのすべての演算はＣＰＵ１００１で行われ、重み等の更新が必要な値やプログラムはメモリ１００２上に記憶される。また、学習データなどの大量のデータは外部記憶装置１００３に記憶される。ネットワークインターフェイス１００４は、インターネット１００５上のデータにアクセスして外部から学習データを取り込むために用いられる。また、ユーザーインターフェイスとして、出力装置１００６と入力装置１００７も必要である。入力装置１００７は、入力ボタン、タッチパッド、タッチパネルディスプレイなどといったユーザインタフェースとなる装置であり、ユーザの操作を受け付ける。
【００８１】
図６は、図４に示す識別時の主題推定システムの動作を示すフローチャートである。
【００８２】
まず、入力部１１０は、入力単語列とトピックラベルとを受理する（Ｓ１０１）。次に、単語ベクトル列制御部１１１は、入力単語列の各単語を所定の方法により計算して単語（単語列）のベクトル列を得る（Ｓ１０２）。次に、トピック依存畳み込み層計算部１２１は、単語のベクトル列と格納部１２２に記憶する重みＡ（第１重み）との畳み込み演算（トピック依存畳み込み演算）を行う（Ｓ１０３）。次に、トピック非依存畳み込み層計算部１２３は、単語のベクトル列と格納部１２４に記憶する重みＺ（第２重み）との畳み込み演算（トピック非依存畳み込み演算）を行う（Ｓ１０４）。次に、プーリング層計算部１３１は、トピック依存畳み込み層計算部１２１の出力とトピック非依存畳み込み層計算部１２３の出力とから各フィルターの最大値を取り出すプーリング処理を行う（Ｓ１０５）。次に、全結合層計算部１４１は、プーリング層計算部１３１の出力に対して、全結合層処理を行う（Ｓ１０６）。より具体的には、全結合層計算部１４１は、プーリング層計算部１３１の出力に対して、格納部１２２に記憶する重みｆにより重み付けを行って、加算する。そして、全ての出力ラベルに対しての重み付き加算を行った後に、確率分布化を行う。最後に、出力部１５０は、出力ラベルに対する確率分布と閾値とを比較することで、出力ラベルを決定する（Ｓ１０７）。
【００８３】
なお、図４に示す主題推定システムがマルチラベル出力を行うときには、Ｓ１０３とＳ１０４との処理を並行に行い、後段でそれらの結果を統合すればよい。以下の学習時でも同様である。
【００８４】
（学習時）
図７は、本実施の形態における主題推定システムの学習時の機能構成を示すブロック図である。図４と同様の要素には同一の符号を付しており、詳細な説明を省略する。図７に示す学習時の主題推定システムは、図４に示す識別時の主題推定システム同様に、上述した図５に示すようなハードウェア構成のコンピュータにより実行される。
【００８５】
図７に示す学習時の機能構成図は、図４に示す識別時の機能構成図と比較して、学習データ６０と、エラー判定部１６０と、重み更新部１６１とが異なる。
【００８６】
学習時の本主題推定システムには、学習データ（訓練データ）として、単語列情報６１とトピック情報６２とが入力される。また、学習データ６０には、主題情報６３は、学習時の本主題推定システムに入力される単語列情報５１およびトピック情報５２に対応した主題情報６３であって出力として望ましい主題情報６３が記憶されている。
【００８７】
エラー判定部１６０は、出力部１５０で出力される主題ラベルに対する確率分布と、主題情報６３から得られる望ましい主題ラベルの確率を１．０とし、他のラベルの確率を０．０とした場合の確率分布と比較し、それらの確率分布の差をエラーとして出力する。
【００８８】
重み更新部１６１は、所定の学習アルゴリズムにより、エラー判定部１６０から出力されるエラーの値に基づき、重みＡ（第１重み）、重みＺ（第２重み）、および重みｆそれぞれの更新量を決定し、それらの更新を実行する。このような重みの更新は、学習データ全体にわたって、学習係数を変化させながら繰り返し実行される。
【００８９】
図８は、図７に示す学習時の主題推定システムの動作を示すフローチャートである。なお、Ｓ２０１〜Ｓ２０７の処理は、図６に示すＳ１０１〜Ｓ１０７の処理と同様であるので説明を省略する。
【００９０】
学習時の主題推定システムは、Ｓ２０７までの処理により入力単語列とトピックとに基づき、主題ラベルに対する確率分布を推定している。次に、エラー判定部１６０は、主題情報６３から望ましい主題を得て、主題ラベルに対する確率分布の望ましい値（確率）をセットし、セットした値と推定した主題ラベルに対する確率分布との差をエラーとして計算する（Ｓ２０８）。次に、重み更新部１６１は、トピック依存畳み込み層計算部１２１で用いた重みＡ（第１重み）と全結合層計算部１４１で用いる、現在のトピックに関連する重みｆとトピック非依存畳み込み層計算部１２３で用いた重みＺ（第１重み）とを、所定の学習アルゴリズムにより更新する（Ｓ２０９）。
【００９１】
なお、これら学習は予め設定した終了条件を満たすかどうかの終了判定を行い（Ｓ２１０）、終了条件が満たされるまで繰り返される。この終了判定には、各重みの更新を行ってもエラーが改善されないことを条件としたり、エラーが閾値以下になったことを条件としたりする。
【００９２】
[効果等]
以上のように、本実施の形態の畳み込みニューラルネットワーク１０を利用する主題推定システムは、学習データが十分でない場合でも、対話の主題をより高精度に推定することができる。また、この主題推定システムは、マルチドメイン対話主題も推定することができる。
【００９３】
より具体的には、畳み込みニューラルネットワーク１０の畳み込み層１２をトピックに依存するトピック依存畳み込み層とトピックに依存しないトピック非依存畳み込み層とで構成し、プーリング層でそれらをマージし、全結合層でトピック依存畳み込み層由来の出力とトピック非依存畳み込み層由来の出力とのバランスを取る。これによって、学習データが多いピックが対話文として入力された場合にはトピック依存畳み込み層の出力が重視され、学習データが少ないトピックが対話文として入力された場合にはトピック非依存の畳み込み層の出力が重視されるため、学習データの量の違いによる性能の差が低減される。
【００９４】
ここで、本実施の形態の畳み込みニューラルネットワーク１０を利用する主題推定システムが、比較例のニューラルネットワークを利用する主題推定システムと比較して、推定精度が向上していることについて実験的検証結果を用いて説明する。
【００９５】
図９は、本実施の形態における主題推定システムの実験的検証結果を示す図である。図９には、Dialog State Tracking Challenge 4 (DSTC4)の対話コーパスを用いたときの、比較例と本実施の形態の主題推定システムの主題推定の精度を比較した結果が示されている。DSTC4対話コーパスは５つのドメイン（Attraction, Accommodation, Food, Shopping, Transportation）の対話が含まれる。各ドメインにおいて、対話セクションに対してPricerange、Preference、Exhibitなどの全部５４種類の主題を推定することができるが、図９には、対話主題ラベルが「Pricerange」の場合の結果が示されている。また、図９に示す「ACCOMMODATION(42/30)」の(42/30)は、学習データの数が４２で、テストデータの数が３０であることを意味している。
【００９６】
比較例のGeneral Modelは、例えば図１に示す畳み込みニューラルネットワーク８０を利用した主題推定システムであり、すべてのトピックを一つの畳み込みニューラルネットワーク８０で学習させた主題推定システムを意味する。また、比較例のTopic-specific Modelは、Attractionのドメインの対話のみ学習するニューラルネットワークを利用する主題推定システムなど、ドメイン毎にドメインに対応する主題推定システムを構成する場合を意味する。つまり、トピック毎に別の主題推定システムのニューラルネットワークに学習させた場合である。
【００９７】
一方、Multi-topic modelは、図３に示す畳み込みニューラルネットワーク１０を利用した主題推定システムであり、本実施の形態における主題推定システムを意味する。
【００９８】
図９に示すように、実験結果では、Multi-topic modelは、対話主題ラベルが「Pricerange」の場合の各ドメインのすべての正解率が比較例のものより高い。また、推定精度を示すF値（overall）に関してもMulti-topic modelは、２つの比較例より向上していることがわかる。
【００９９】
なお、DSTC4対話コーパスを用いた全対話主題ラベルの推定精度は、Multi-topic modelが４８％、General Modelが４３％、Topic-specific Modelが４３％であったことからも、Multi-topic modelは、２つの比較例よりも推定精度が向上しているのがわかる。
【０１００】
（実施の形態２）
実施の形態１では、畳み込み層１２をトピックに依存するトピック依存畳み込み層とトピックに依存しないトピック非依存畳み込み層とで構成することで、主題推定の推定精度が向上することについて説明した。この畳み込み層１２の構成では、上述したように、トピック依存畳み込み層に対する学習データが少なくなる傾向がある。本実施の形態では、学習データの不足を補うために、実施の形態１で説明した畳み込みニューラルネットワーク１０を利用する主題推定システムが半教師有り学習を利用する場合について機能構成図と動作図を用いて説明する。
【０１０１】
図１０は、本実施の形態における主題推定システムの追加学習時の機能構成を示すブロック図である。図７と同様の要素には同一の符号を付しており、詳細説明を省略する。図１０に示す追加学習時の主題推定システムは、図７に示す学習時の主題推定システム同様に、上述した図５に示すようなハードウェア構成のコンピュータにより実行される。
【０１０２】
図１０に示す追加学習時の機能構成図は、図７に示す学習時の機能構成図と比較して、外部データ取得部１７０が追加されている。
【０１０３】
外部データ取得部１７０は、学習用対話テキストに対応する単語列ベクトル列のうちある依存トピックに関連する単語列ベクトル列の数が別の依存トピックに関連する単語列ベクトル列の数よりも少ない場合には、Ｗｅｂを検索して得たある依存トピックに関連する対話テキストを学習データの半教師データとして取得する。
【０１０４】
より具体的には、外部データ取得部１７０は、例えば対話データの内容が旅行のプランニングに関する場合、インターネットの旅行の口コミサイトから旅行に関するテキスト情報を教師なし学習データとして取得する。しかし、旅行の口コミサイトの情報には、上述した公知のデータセットを用いた学習データ（教師あり学習データ）のように主題情報の正解ラベルは付与されていない。また、旅行の口コミサイトの情報には、トピックラベルも付与されていない。
【０１０５】
そこで、本実施の形態の主題推定システムは、このような教師なし学習データである旅行の口コミサイトの情報に擬似的に正解ラベルを付与することで教師あり学習データを増やす。これにより、量の少ないトピックに関する教師あり学習データを増やすことができる。より詳細には、図１０に示す主題推定システムは、識別時の動作（図６に示すＳ１０１〜Ｓ１０７の識別処理）を行い、主題を推定する。また、図１０に示す主題推定システムは、旅行の口コミサイトの情報のトピックについては、全てのラベルについて、順に入力する。さらに、こようにして得られた、トピックに対応した全結合層計算部１４１の出力の主題の推定確率が予め設定した閾値より大きいものに限定して、トピックのラベルと主題のラベルを付与する。
【０１０６】
次に、図１０に示す主題推定システムは、トピックのラベルと主題のラベルを付与した旅行の口コミサイトの情報を用いて、再度、学習時の動作（図８に示すＳ２０１〜Ｓ２１０の学習処理）を行い、再度旅行の口コミサイトの情報に対する識別処理と、再度の学習処理とを繰り返す。なお、このように繰り返す学習処理（半教師あり学習処理）においては、閾値を初めは高く設定し、徐々に低くするとよい。また、口コミサイトからテキストデータを得る際に、例えば、タイトルがexhibitionであれば、主題ラベルのexhibitに関連する内容であるということが期待できるので、主題ラベルごとに関連語句を設定して、タイトルなどで制限を加えると効果的である。また、トピックラベルについてもタイトルなどから制限を加えると効果的である。つまり、外部データ取得部１７０は、旅行の口コミサイトのレビュー文などの外部の教師なしデータを取得し、取得した当該教師なし学習データから、対話主題と無関係なデータをキーワードで除外することで、有用な所定の対話主題に対応する教師あり学習データを取得することができる。
【０１０７】
図１１は、図１０に示す追加学習時の主題推定システムの動作を示すフローチャートである。
【０１０８】
まず、教師あり学習データを準備する（Ｓ３０１）。これは、例えば、人間同士の対話データを音声で収録し、人手によって書き起こす。または、キーボード入力によるチャットを行い、テキストを保存する。さらに、対話の中で、どこからどこまでがなんと言うトピックであるかを認定するというアノテーションを人手で行う。アノテーションには、クラウドソーシングを利用することができる。しかし、これらの作業にはコストがかかるため、学習用データは学習するのに不十分であることが多い。
【０１０９】
次に、本実施の形態の主題推定システムは、得られた教師あり学習データを用いて、Ｓ２０１〜Ｓ２１０の学習処理を行う（Ｓ３０２）。
【０１１０】
次に、外部データ取得部１７０は、トピックや主題に関連する教師なし学習データを取得する（Ｓ３０３）。具体的には、外部データ取得部１７０は、上述したように、単に旅行の口コミサイトという粒度での絞り込んで取得するのではなく、トピックや主題のラベルに関連する語彙を用いて、タイトルやその他の見出しを利用して、より細かい絞込みを行ったものを教師なし学習データ（単語列）として取得する。
【０１１１】
次に、本実施の形態の主題推定システムは、Ｓ３０２の学習処理により学習した畳み込みニューラルネットワーク１０を用いて、教師なし学習データのトピックラベルと主題ラベルとを推定し、推定したものを当該教師なし学習データに対してトピックラベルと主題ラベルとして付与する（Ｓ３０４）。
【０１１２】
次に、本実施の形態の主題推定システムは、トピックラベルと主題ラベルとが付与された当該教師なし学習データを用いて、再度、Ｓ２０１〜Ｓ２１０の学習処理を行う（Ｓ３０５）。Ｓ３０２による学習結果とＳ３０５による学習結果とでは畳み込みニューラルネットワーク１０の重み（第１重み、第２重み）が変化するため、それに応じてＳ３０４で推定するトピックラベルと主題ラベルも変化する。
【０１１３】
次に、本実施の形態の主題推定システムは、重みの更新の変化量などを基準とした終了判定を行う（Ｓ３０６）。終了条件を満たさない場合は、Ｓ３０４とＳ３０５を繰り返す。
【０１１４】
[効果等]
以上のように、本実施の形態の畳み込みニューラルネットワーク１０を利用する主題推定システムは、学習データが十分でない場合でも、教師なし学習データを識別処理し擬似的に正解ラベルを付与して学習処理を繰り返し行うことで、教師有り学習データを十分に増やすことができる。それにより、本実施の形態の主題推定システムは、対話の主題をより高精度に推定することができる。
【０１１５】
ここで、本実施の形態の畳み込みニューラルネットワーク１０を利用する主題推定システムが、上記のような学習処理を繰り返すことにより推定精度が向上することについて実験的検証結果を用いて説明する。
【０１１６】
図１２は、本実施の形態における主題推定システムの実験的検証結果を示すグラフである。図１２には、DSTC4の対話コーパスを用いたときの、本実施の形態の主題推定システムが行う半教師あり学習処理の効果が示されている。
【０１１７】
本実験では、対話文がExhibit主題に属する、属さないかの２クラス分類において、本実施の形態の主題推定システムが行う半教師あり学習処理により外部から取得した教師なしデータを教師データ（教師ありデータ）として元の教師ありデータに追加する。ここで、元の教師あり学習データ数は７６２、追加した教師なし学習データ数は２０〜７５３である。
【０１１８】
図１２に示すように、外部から取得した教師なしデータに当該半教師あり学習処理を行い教師あり学習データとして追加することにより、２値分類精度が最大３％向上したことがわかる。
【０１１９】
以上、実施の形態１および実施の形態２において本発明の主題推定システムおよび主題推定方法について説明したが、各処理が実施される主体や装置に関しては特に限定しない。ローカルに配置された特定の装置内に組み込まれたプロセッサーなど（以下に説明）によって処理されてもよい。またローカルの装置と異なる場所に配置されているクラウドサーバなどによって処理されてもよい。
【０１２０】
なお、本発明は、さらに、以下のような場合も含まれる。
【０１２１】
（１）上記の装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１２２】
（２）上記の装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１２３】
（３）上記の装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１２４】
（４）また、本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１２５】
（５）また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１２６】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１２７】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１２８】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【産業上の利用可能性】
【０１２９】
本発明は、人間と機械とを問わず、二者間を基本とする自然言語のやりとりである対話の主題が何かを推定するというタスクを行う主題推定システムおよび主題推定方法に利用できる。
【符号の説明】
【０１３０】
１０、８０  畳み込みニューラルネットワーク
１１、８１  入力特徴
１１ａ、１１ｂ  単語列ベクトル列
１２、８２  畳み込み層
１２ａ、１２ｂ  トピック依存畳み込み層
１２ｚ  トピック非依存畳み込み層
１３、１３ａ、１３ｂ、８３  プーリング層
１４、１４ａ、１４ｂ、８４  全結合層
５０  入力情報
５１、６１  単語列情報
５２、６２  トピック情報
６０  学習データ
６３  主題情報
１１０  入力部
１１１  単語ベクトル列制御部
１２１  トピック依存畳み込み層計算部
１２２、１２４、１４２  格納部
１２３  トピック非依存畳み込み層計算部
１３１  プーリング層計算部
１４１  全結合層計算部
１５０  出力部
１６０  エラー判定部
１６１  重み更新部
１７０  外部データ取得部
１００１  ＣＰＵ
１００２  メモリ
１００３  外部記憶装置
１００４  ネットワークインターフェイス
１００５  インターネット
【図１】
0006611053.tif 000002
【図２】
0006611053.tif 000003
【図３】
0006611053.tif 000004
【図４】
0006611053.tif 000005
【図５】
0006611053.tif 000006
【図６】
0006611053.tif 000007
【図７】
0006611053.tif 000008
【図８】
0006611053.tif 000009
【図９】
0006611053.tif 000010
【図１０】
0006611053.tif 000011
【図１１】
0006611053.tif 000012
【図１２】
0006611053.tif 000013